在线证书状态工具。

用法:

openssl ocsp [-out file] [-issuer file] [-cert file] [-serial num] [-signer file] [-signkey file ] [-sign_other file ] [-no_certs] [-req_text] [-resp_text] [-text] [-reqout file] [-respout file] [-reqin file] [-respin file] [-nonce] [-no_nonce] [-url URL] [-host host:n] [-path] [-CApath dir] [-CAfile file] [-VAfile file] [-validity_period n] [-status_age n] [-noverify] [-verify_other file] [-trust_other] [-no_intern] [-no_signature_verify] [-no_cert_verify] [-no_chain] [-no_cert_checks] [-port num] [-index file] [-CA file] [-rsigner file] [-rkey file] [-rother file] [-resp_no_certs] [-nmin n] [-ndays n] [-resp_key_id] [-nrequest n]

选项:

       -out file

              指定输出文件,默认为标准输出。

       -issuer file

              指定当前颁发者证书,此选项可以用多次,file中的证书必须是PEM格式的。

       -cert file

              file指定的证书添加到OCSP请求中去。

       -serial num

将数字证书序列号添加到OCSP请求中去,num为证书序列号,0x开始表示是十六进制数据,否则是十进制数据,num可以是负数,前面用-表示。

       -signer file, -signkey file

OCSP请求签名时,分别指定证书和私钥;如果只设置-signer选项,私钥和证书都从-signer指定的文件中读取;如果不设置这两项,OCSP请求将不会被签名。

       -sign_other filename     

签名的请求中添加其他证书。

       -no_certs

              签名的请求中不添加任何证书。

       -req_text

              打印OCSP请求信息。

       -resp_text

              打印OCSP响应信息。

       -text

              打印OCSP请求或者响应信息。

       -reqout file

              指定DER编码的OCSP请求输出文件。

       -respout file

              指定DER编码的OCSP响应输出文件。

       -reqin file

              指定输入的DER编码的OCSP请求文件。

       -respin file

              指定输入的DER编码的OCSP响应文件。

       -nonce-no_nonce

              设置或不设置OCSP中的nonce扩展。

       -url URL

              指定OCSP服务的URL

-host host:n

              发送OCSP请求给服务,host为地址或域名n为端口号。

-path

              OCSP请求所用的路径。

-CApath dir

       可信CA文件目录,CA文件名请参考其他章节说明。

-CAfile file

              可信CA文件,file可以包含多个CA证书。

-VAfile file

指定受信任的OCSP服务的证书,file可以包含多个证书;等价于-verify_certs -trust_other选项。

       -validity_period n

设置OCSP响应中可接受的时间误差,n以秒为单位。默认可接受时间误差为5秒,OCSP认证中有关时间的说明请参考OCSP一章。

       -status_age n

如果OCSP响应中没用提供响应的失效时间,则说明马上可以获取到新的响应信息;此时需要检查起始时间是否比当前时间晚n秒;默认情况不做此操作。

       -noverify

              不验证OCSP响应的签名和nonce

       -verify_other file

              设置其他用于搜索OCSP响应者证书的文件。

       -trust_other

-verify_other指定的文件中包含了响应者的证书,用此选项时,不对响应者证书做额外的验证。当不能获取响应者证书的证书链或其根CA时,可用此选项,以保证验证能通过,即:使用了此选项后,verify_other所指定的OCSP服务者证书是可以信任的,即使那些证书有问题。

       -no_intern

不搜索OCSP响应者的证书,采用此选项时,OCSP响应者的证书必须在-verify_certs-VAfile中指定。

-no_signature_verify

              不验证响应者的签名,用于测试。

-no_cert_verify

              不验证响应者的证书,用于测试。

-no_chain

              不验证响应者证书链。

-no_cert_checks

              不验证响应者证书,不检查响应者是否有权来发布OCSP响应,用于测试。

-port num

              OCSP服务端口。

-index file

       指定证书状态索引文件。

-CA file

       指定CA证书。

-rsigner file

       指定用于签发OCSP响应的证书。

-rkey file

       指定用于签发OCSP响应的私钥文件。

-rother file

       将其他证书添加到OCSP响应中。

-resp_no_certs

       OCSP响应中不包含证书。

-nmin n

       距离下次更新时间,n以分钟为单位。

-ndays n

       距离下次更新时间,n以天为单位。

       -resp_key_id

              用响应者的私钥ID来标记OCSP响应,默认为响应者证书的持有者。

       -nrequest n

              OCSP服务最大响应个数,默认无限制。

       举例:

1)请先用reqca命令生成OCSP服务证书和私钥,下面的OCSP服务证书为ocspservercert.pemOCSP服务签名私钥为ocspserverkey.pem

       2)生成OCSP请求:

openssl ocsp -issuer demoCA/cacert.pem -cert cert.pem -cert -cert2.pem -reqout ocspreq.der

3)打印OCSP请求信息:

openssl ocsp -reqin ocspreq.der -text

4)启动OCSP服务:

openssl ocsp -ndays 1 -index demoCA/index.txt -port 3904 -CA demoCA/cacert.pem -text  -rkey ocspserverkey.pem -rsigner ocspservercert.pem

5)请求OCSP响应:

openssl ocsp -issuer demoCA/cacert.pem -url http://127.0.0.1:3904 -reqin ocspreq.der -VAfile ocspservercert.pem -respout resp.der

打印如下信息:

Response verify OK

或者:openssl ocsp -issuer demoCA/cacert.pem -url http://127.0.0.1:3904 -cert cert.pem -cert cert2.pem -VAfile ocspservercert.pem -respout resp.der

打印如下信息:

Response verify OK

cert.pem: unknown

        This Update: Mar  9 16:50:12 2007 GMT

        Next Update: Mar 10 16:50:12 2007 GMT

cert2.pem: revoked

        This Update: Mar  9 16:50:12 2007 GMT

        Next Update: Mar 10 16:50:12 2007 GMT

        Revocation Time: Mar  9 13:56:51 2007 GMT

5)  根据响应的文件来验证:

openssl ocsp -respin resp.der -VAfile ocspserverc ert.pem -text