OpenSSL

密码学和SSL/TLS工具包

openssl-verify

名称

openssl-verify - 证书验证命令

语法

openssl verify [-help] [-CRLfile 文件名|uri] [-crl_download] [-show_chain] [-verbose] [-trusted 文件名|uri] [-untrusted 文件名|uri] [-vfyopt nm:v] [-nameopt 选项] [-CAfile 文件] [-no-CAfile] [-CApath 目录] [-no-CApath] [-CAstore uri] [-no-CAstore] [-engine id] [-allow_proxy_certs] [-attime 时间戳] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy 参数] [-policy_check] [-policy_print] [-purpose 用途] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level 数字] [-verify_depth 数字] [-verify_email 邮箱] [-verify_hostname 主机名] [-verify_ip IP地址] [-verify_name 名称] [-x509_strict] [-issuer_checks] [-provider 名称] [-provider-path 路径] [-propquery 属性查询] [--] [证书 ...]

描述

此命令验证证书链。如果证书链存在多个问题,此程序会尝试显示所有问题。

选项

-help

打印用法信息。

-CRLfile 文件名|uri

文件或URI应包含一个或多个以PEM或DER格式表示的CRL。此选项可以指定多次以包含来自多个来源的CRL。

-crl_download

尝试通过证书的CDP条目下载CRL信息。

-show_chain

显示已构建的证书链信息(如果成功)。来自不受信任列表的链中的证书将被标记为“不受信任”。

-verbose

打印有关正在执行的操作的额外信息。

-trusted 文件名|uri

一个(或多或少)受信任证书的文件或URI。有关信任设置的更多信息,请参阅openssl-verification-options(1)

此选项可以指定多次以从多个来源加载证书。

-untrusted 文件名|uri

用于构建链的不可信证书的文件或URI。此选项可以指定多次以从多个来源加载证书。

-vfyopt nm:v

在验证操作期间将选项传递给签名算法。这些选项的名称和值是特定于算法的。

-nameopt 选项

这指定了主题或发行者名称的显示方式。有关详细信息,请参阅openssl-namedisplay-options(1)

-engine id

参见openssl(1)中的“引擎选项”。此选项已弃用。

要加载需要引擎支持的证书或CRL,请在任何-trusted-untrusted-CRLfile选项之前指定-engine选项。

-CAfile 文件, -no-CAfile, -CApath 目录, -no-CApath, -CAstore uri, -no-CAstore

有关详细信息,请参阅openssl-verification-options(1)中的“受信任证书选项”

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks

设置证书链验证的各种选项。有关详细信息,请参阅openssl-verification-options(1)中的“验证选项”

-provider 名称
-provider-path 路径
-propquery 属性查询

参见openssl(1)中的“提供程序选项”provider(7)property(7)

--

指示最后一个选项。此选项之后的所有参数都假定为证书文件。如果第一个证书文件名以-开头,则此选项很有用。

证书 ...

一个或多个要验证的目标证书,每个文件一个。如果没有给出证书,此命令将尝试从标准输入读取单个证书。

诊断

当验证操作失败时,输出消息可能有些难以理解。错误消息的一般形式是

server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit)
error 24 at 1 depth lookup:invalid CA certificate

第一行包含正在验证的证书的名称,后跟证书的主题名称。第二行包含错误号和深度。深度是在检测到问题时正在验证的证书的编号,从目标(“叶子”)证书本身的0开始,然后是签署目标证书的CA的1,依此类推。最后,显示错误号的文本版本。

错误代码和消息的列表可以在X509_STORE_CTX_get_error(3)中找到;完整列表在头文件<openssl/x509_vfy.h>中定义。

为了确定证书链的所有问题,此命令会忽略许多错误。

参见

openssl-verification-options(1)openssl-x509(1)ossl_store-file(7)

历史

-show_chain选项在OpenSSL 1.1.0中添加。

-engine选项在OpenSSL 3.0中已弃用。

版权所有 2000-2021 OpenSSL 项目作者。保留所有权利。

根据 Apache 许可证 2.0(“许可证”)许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的LICENSE文件中或https://www.openssl.org/source/license.html中获取副本。