man > OPENSSL-OCSP(1SSL)

OPENSSL-OCSP(1SSL)                             OpenSSL                            OPENSSL-OCSP(1SSL)

NAME
       openssl-ocsp - Online Certificate Status Protocol command

SYNOPSIS
   OCSP Client
       openssl ocsp [-help] [-out file] [-issuer file] [-cert file] [-no_certs] [-serial n] [-signer
       file] [-signkey file] [-sign_other file] [-nonce] [-no_nonce] [-req_text] [-resp_text]
       [-text] [-reqout file] [-respout file] [-reqin file] [-respin file] [-url URL] [-host
       host:port] [-path] [-proxy [http[s]://][userinfo@]host[:port][/path]] [-no_proxy addresses]
       [-header] [-timeout seconds] [-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] [-no_explicit] [-port num] [-ignore_err]

   OCSP Server
       openssl ocsp [-index file] [-CA file] [-rsigner file] [-rkey file] [-passin arg] [-rother
       file] [-rsigopt nm:v] [-rmd digest] [-badsig] [-resp_no_certs] [-nmin n] [-ndays n]
       [-resp_key_id] [-nrequest n] [-multi process-count] [-rcid digest] [-digest] [-CAfile file]
       [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-allow_proxy_certs]
       [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all]
       [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map]
       [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose]
       [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains]
       [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname
       hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] [-provider
       name] [-provider-path path] [-propquery propq]

DESCRIPTION
       The Online Certificate Status Protocol (OCSP) enables applications to determine the
       (revocation) state of an identified certificate (RFC 2560).

       This command performs many common OCSP tasks. It can be used to print out requests and
       responses, create requests and send queries to an OCSP responder and behave like a mini OCSP
       server itself.

OPTIONS
       This command operates as either a client or a server.  The options are described below,
       divided into those two modes.

   OCSP Client Options
       -help
           Print out a usage message.

       -out filename
           specify output filename, default is standard output.

       -issuer filename
           This  specifies  the  current issuer certificate. This option can be used multiple times.
           This option MUST come before any -cert options.

       -cert filename
           Add the certificate filename to the request. The issuer certificate  is  taken  from  the
           previous -issuer option, or an error occurs if no issuer certificate is specified.

       -no_certs
           Don't include any certificates in signed request.

       -serial num
           Same  as  the  -cert option except the certificate with serial number num is added to the
           request. The serial number is interpreted as a decimal integer unless preceded  by  "0x".
           Negative integers can also be specified by preceding the value by a "-" sign.

       -signer filename, -signkey filename
           Sign  the  OCSP  request  using  the  certificate specified in the -signer option and the
           private key specified by the -signkey option. If the -signkey option is not present  then
           the  private  key  is  read  from  the same file as the certificate. If neither option is
           specified then the OCSP request is not signed.

       -sign_other filename
           Additional certificates to include in the signed request.  The input can be in PEM,  DER,
           or PKCS#12 format.

       -nonce, -no_nonce
           Add  an OCSP nonce extension to a request or disable OCSP nonce addition.  Normally if an
           OCSP request is input using the -reqin option no nonce is added: using the -nonce  option
           will  force  addition  of  a nonce.  If an OCSP request is being created (using -cert and
           -serial options) a nonce is automatically added specifying -no_nonce overrides this.

       -req_text, -resp_text, -text
           Print out the text form of the OCSP request, response or both respectively.

       -reqout file, -respout file
           Write out the DER encoded certificate request or response to file.

       -reqin file, -respin file
           Read OCSP request or response file from file. These option are ignored if OCSP request or
           response creation is implied by other options (for example with -serial, -cert and  -host
           options).

       -url responder_url
           Specify  the  responder  URL.  Both  HTTP and HTTPS (SSL/TLS) URLs can be specified.  The
           optional userinfo and fragment components are ignored.   Any  given  query  component  is
           handled as part of the path component.

       -host hostname:port, -path pathname
           If the -host option is present then the OCSP request is sent to the host hostname on port
           port.  The  -path  option  specifies the HTTP pathname to use or "/" by default.  This is
           equivalent to specifying -url with scheme http://  and  the  given  hostname,  port,  and
           pathname.

       -proxy [http[s]://][userinfo@]host[:port][/path]
           The  HTTP(S)  proxy  server to use for reaching the OCSP server unless -no_proxy applies,
           see below.  The proxy port defaults to 80 or 443 if the scheme  is  "https";  apart  from
           that  the optional "http://" or "https://" prefix is ignored, as well as any userinfo and
           path components.   Defaults  to  the  environment  variable  "http_proxy"  if  set,  else
           "HTTP_PROXY" in case no TLS is used, otherwise "https_proxy" if set, else "HTTPS_PROXY".

       -no_proxy addresses
           List  of  IP  addresses  and/or  DNS  names  of  servers not to use an HTTP(S) proxy for,
           separated by commas and/or whitespace (where in the latter case the whole  argument  must
           be  enclosed in "...").  Default is from the environment variable "no_proxy" if set, else
           "NO_PROXY".

       -header name=value
           Adds the header name with the specified value to the OCSP request that  is  sent  to  the
           responder.  This may be repeated.

       -timeout seconds
           Connection  timeout  to the OCSP responder in seconds.  On POSIX systems, when running as
           an OCSP responder, this option also limits the time that the responder is willing to wait
           for the client request.  This time is measured from the time the  responder  accepts  the
           connection until the complete request is received.

       -verify_other file
           File  or  URI  containing additional certificates to search when attempting to locate the
           OCSP response signing certificate. Some responders omit the actual  signer's  certificate
           from  the  response:  this option can be used to supply the necessary certificate in such
           cases.  The input can be in PEM, DER, or PKCS#12 format.

       -trust_other
           The certificates specified by the -verify_other option should be explicitly  trusted  and
           no  additional  checks  will  be  performed  on  them.  This  is useful when the complete
           responder certificate chain is not available or trusting a root CA is not appropriate.

       -VAfile file
           File or URI containing explicitly trusted  responder  certificates.   Equivalent  to  the
           -verify_other and -trust_other options.  The input can be in PEM, DER, or PKCS#12 format.

       -noverify
           Don't attempt to verify the OCSP response signature or the nonce values. This option will
           normally  only be used for debugging since it disables all verification of the responders
           certificate.

       -no_intern
           Ignore certificates contained in  the  OCSP  response  when  searching  for  the  signers
           certificate.  With  this option the signers certificate must be specified with either the
           -verify_other or -VAfile options.

       -no_signature_verify
           Don't check the signature on the OCSP  response.  Since  this  option  tolerates  invalid
           signatures on OCSP responses it will normally only be used for testing purposes.

       -no_cert_verify
           Don't  verify  the OCSP response signers certificate at all. Since this option allows the
           OCSP response to be signed by  any  certificate  it  should  only  be  used  for  testing
           purposes.

       -no_chain
           Do not use certificates in the response as additional untrusted CA certificates.

       -no_explicit
           Do not explicitly trust the root CA if it is set to be trusted for OCSP signing.

       -no_cert_checks
           Don't perform any additional checks on the OCSP response signers certificate.  That is do
           not  make  any  checks  to  see  if  the signers certificate is authorised to provide the
           necessary status information: as a result this option should only  be  used  for  testing
           purposes.

       -validity_period nsec, -status_age age
           These  options specify the range of times, in seconds, which will be tolerated in an OCSP
           response. Each certificate status response includes a  notBefore  time  and  an  optional
           notAfter  time.  The  current time should fall between these two values, but the interval
           between the two times may be only a few seconds.  In  practice  the  OCSP  responder  and
           clients  clocks  may not be precisely synchronised and so such a check may fail. To avoid
           this the -validity_period option can be used to specify  an  acceptable  error  range  in
           seconds, the default value is 5 minutes.

           If  the  notAfter  time  is  omitted  from  a  response  then  this means that new status
           information is immediately available. In this case the age  of  the  notBefore  field  is
           checked to see it is not older than age seconds old.  By default this additional check is
           not performed.

       -rcid digest
           This  option  sets the digest algorithm to use for certificate identification in the OCSP
           response. Any digest supported by the openssl-dgst(1) command can be used. The default is
           the same digest algorithm used in the request.

       -digest
           This option sets digest algorithm to use  for  certificate  identification  in  the  OCSP
           request.  Any  digest  supported by the OpenSSL dgst command can be used.  The default is
           SHA-1. This option may be used multiple times to specify the digest  used  by  subsequent
           certificate identifiers.

       -CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
           See "Trusted Certificate Options" in openssl-verification-options(1) for details.

       -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
           Set  various  options  of  certificate chain verification.  See "Verification Options" in
           openssl-verification-options(1) for details.

       -provider name
       -provider-path path
       -propquery propq
           See "Provider Options" in openssl(1), provider(7), and property(7).

   OCSP Server Options
       -index indexfile
           The indexfile parameter is the name  of  a  text  index  file  in  ca  format  containing
           certificate revocation information.

           If the -index option is specified then this command switches to responder mode, otherwise
           it  is  in client mode. The request(s) the responder processes can be either specified on
           the command line (using -issuer and -serial options),  supplied  in  a  file  (using  the
           -reqin option) or via external OCSP clients (if -port or -url is specified).

           If the -index option is present then the -CA and -rsigner options must also be present.

       -CA file
           CA  certificate  corresponding to the revocation information in the index file given with
           -index.  The input can be in PEM, DER, or PKCS#12 format.

       -rsigner file
           The certificate to sign OCSP responses with.

       -rkey file
           The private key to sign OCSP responses with: if not present the  file  specified  in  the
           -rsigner option is used.

       -passin arg
           The  private  key  password  source.  For  more  information  about the format of arg see
           openssl-passphrase-options(1).

       -rother file
           Additional certificates to include in the OCSP response.  The input can be in  PEM,  DER,
           or PKCS#12 format.

       -rsigopt nm:v
           Pass options to the signature algorithm when signing OCSP responses.  Names and values of
           these options are algorithm-specific.

       -rmd digest
           The digest to use when signing the response.

       -badsig
           Corrupt the response signature before writing it; this can be useful for testing.

       -resp_no_certs
           Don't include any certificates in the OCSP response.

       -resp_key_id
           Identify the signer certificate using the key ID, default is to use the subject name.

       -port portnum
           Port to listen for OCSP requests on. The port may also be specified using the url option.
           A 0 argument indicates that any available port shall be chosen automatically.

       -ignore_err
           Ignore  malformed  requests  or  responses:  When  acting  as  an OCSP client, retry if a
           malformed response is received. When  acting  as  an  OCSP  responder,  continue  running
           instead of terminating upon receiving a malformed request.

       -nrequest number
           The OCSP server will exit after receiving number requests, default unlimited.

       -multi process-count
           Run  the  specified  number  of  OCSP  responder child processes, with the parent process
           respawning child processes as needed.  Child processes will  detect  changes  in  the  CA
           index  file  and automatically reload it.  When running as a responder -timeout option is
           recommended to limit the time each child  is  willing  to  wait  for  the  client's  OCSP
           response.   This  option is available on POSIX systems (that support the fork() and other
           required unix system-calls).

       -nmin minutes, -ndays days
           Number of minutes or days when fresh revocation information is  available:  used  in  the
           nextUpdate  field.  If  neither  option  is  present then the nextUpdate field is omitted
           meaning fresh revocation information is immediately available.

OCSP RESPONSE VERIFICATION
       OCSP Response follows the rules specified in RFC2560.

       Initially the OCSP responder certificate is located and the signature  on  the  OCSP  request
       checked using the responder certificate's public key.

       Then a normal certificate verify is performed on the OCSP responder certificate building up a
       certificate chain in the process. The locations of the trusted certificates used to build the
       chain can be specified by the -CAfile, -CApath or -CAstore options or they will be looked for
       in the standard OpenSSL certificates directory.

       If the initial verify fails then the OCSP verify process halts with an error.

       Otherwise  the  issuing  CA  certificate  in  the  request  is compared to the OCSP responder
       certificate: if there is a match then the OCSP verify succeeds.

       Otherwise the OCSP responder certificate's CA is checked against the issuing  CA  certificate
       in  the request. If there is a match and the OCSPSigning extended key usage is present in the
       OCSP responder certificate then the OCSP verify succeeds.

       Otherwise, if -no_explicit is not set the root CA of the OCSP responders CA is checked to see
       if it is trusted for OCSP signing. If it is the OCSP verify succeeds.

       If none of these checks is successful then the OCSP verify fails.

       What this effectively means if that if the OCSP responder certificate is authorised  directly
       by  the  CA  it is issuing revocation information about (and it is correctly configured) then
       verification will succeed.

       If the OCSP responder is a "global responder" which can give details about multiple  CAs  and
       has  its own separate certificate chain then its root CA can be trusted for OCSP signing. For
       example:

        openssl x509 -in ocspCA.pem -addtrust OCSPSigning -out trustedCA.pem

       Alternatively the responder certificate itself can be explicitly  trusted  with  the  -VAfile
       option.

NOTES
       As  noted,  most  of the verify options are for testing or debugging purposes.  Normally only
       the -CApath, -CAfile, -CAstore and (if the responder is a 'global VA') -VAfile  options  need
       to be used.

       The  OCSP  server is only useful for test and demonstration purposes: it is not really usable
       as a full OCSP responder. It contains only a very simple HTTP request handling and  can  only
       handle  the  POST  form  of OCSP queries. It also handles requests serially meaning it cannot
       respond to new requests until it has processed the current one. The text index file format of
       revocation is also inefficient for large quantities of revocation data.

       It is possible to run this command in responder mode via a CGI script using  the  -reqin  and
       -respout options.

EXAMPLES
       Create an OCSP request and write it to a file:

        openssl ocsp -issuer issuer.pem -cert c1.pem -cert c2.pem -reqout req.der

       Send  a  query  to  an OCSP responder with URL http://ocsp.myhost.com/ save the response to a
       file, print it out in text form, and verify the response:

        openssl ocsp -issuer issuer.pem -cert c1.pem -cert c2.pem \
            -url http://ocsp.myhost.com/ -resp_text -respout resp.der

       Read in an OCSP response and print out text form:

        openssl ocsp -respin resp.der -text -noverify

       OCSP server on port 8888  using  a  standard  ca  configuration,  and  a  separate  responder
       certificate. All requests and responses are printed to a file.

        openssl ocsp -index demoCA/index.txt -port 8888 -rsigner rcert.pem -CA demoCA/cacert.pem
               -text -out log.txt

       As above but exit after processing one request:

        openssl ocsp -index demoCA/index.txt -port 8888 -rsigner rcert.pem -CA demoCA/cacert.pem
            -nrequest 1

       Query status information using an internally generated request:

        openssl ocsp -index demoCA/index.txt -rsigner rcert.pem -CA demoCA/cacert.pem
            -issuer demoCA/cacert.pem -serial 1

       Query  status  information using request read from a file, and write the response to a second
       file.

        openssl ocsp -index demoCA/index.txt -rsigner rcert.pem -CA demoCA/cacert.pem
            -reqin req.der -respout resp.der

HISTORY
       The -no_alt_chains option was added in OpenSSL 1.1.0.

COPYRIGHT
       Copyright 2001-2021 The OpenSSL Project Authors. All Rights Reserved.

       Licensed under the Apache License 2.0 (the "License").  You may not use this file  except  in
       compliance  with  the  License.   You  can  obtain  a  copy in the file LICENSE in the source
       distribution or at <https://www.openssl.org/source/license.html>.

3.0.13                                       2026-07-29                           OPENSSL-OCSP(1SSL)
OPENSSL-OCSP(1SSL)
NAME SYNOPSIS
OCSP Client OCSP Server
DESCRIPTION OPTIONS
OCSP Client Options -help -out filename -issuer filename -cert filename -no_certs -serial num -signer filename, -signkey filename -sign_other filename -nonce, -no_nonce -req_text, -resp_text, -text -reqout file, -respout file -reqin file, -respin file -url responder_url -host hostname:port, -path pathname -proxy [http[s]://][userinfo@]host[:port][/path] -no_proxy addresses -header name=value -timeout seconds -verify_other file -trust_other -VAfile file -noverify -no_intern -no_signature_verify -no_cert_verify -no_chain -no_explicit -no_cert_checks -validity_period nsec, -status_age age -rcid digest -digest -CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -provider name -provider-path path -propquery propq OCSP Server Options -index indexfile -CA file -rsigner file -rkey file -passin arg -rother file -rsigopt nm:v -rmd digest -badsig -resp_no_certs -resp_key_id -port portnum -ignore_err -nrequest number -multi process-count -nmin minutes, -ndays days
OCSP RESPONSE VERIFICATION NOTES
-respout options.
EXAMPLES HISTORY COPYRIGHT

Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-16 06:39 @216.73.216.208
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^