⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draft-ietf-pkix-ocspv2-ext-01.txt

📁 PKIX的RFC英文文档
💻 TXT
📖 第 1 页 / 共 4 页
字号:
         message) and to verify that the issuer key was used to sign it.      b) using the full certificate.  The client does not need to          verify first the certification path of the certificate.       c) using CertIdWithSignature. The client does not need to          verify first the certification path of the certificate. 5.1.3.3. CA designated Responder who holds a specially marked certificate issued directly by the CA   In that case, the client MUST use the AIA extension present in    the certificate to locate the Authorized Responder.  The client    does not need to verify first the certification path of the    certificate. However, when it gets the OCSP response, it SHALL    verify that the signature from the OCSP response is correct.  For    doing this, it MUST find a certificate which holds a special mark    (i.e. which contains in the Extended Key Usage the extension    id-kp-OCSPSigning) issued by the issuer of the certificate to be    verified and then make sure that this certificate allows to verify    the signature from the OCSP response.  It MUST verify the whole    certification path for that certificate and verify that none of the    certificates is revoked.5.2  Response Syntax   This section specifies the ASN.1 specification for a confirmation   response. The actual formatting of the message could vary depending   on the transport mechanism used (HTTP, SMTP, LDAP, etc.).5.2.1  ASN.1 Specification of the OCSP Response   An OCSP response at a minimum consists of a responseStatus field   indicating the processing status of the prior request. If the value   of responseStatus is one of the error conditions, responseBytes are   not set.   OCSPResponse ::= SEQUENCE {      responseStatus         OCSPResponseStatus,      responseBytes          [0] EXPLICIT ResponseBytes OPTIONAL }Malpani & all                                                  [Page 11]INTERNET DRAFT      OCSP extension and OCSPv2 protocol     December 2002   OCSPResponseStatus ::= ENUMERATED {       successful            (0),  --Response has valid confirmations       malformedRequest      (1),  --Illegal confirmation request       internalError         (2),  --Internal error in issuer       tryLater              (3),  --Try again later                                   --(4) is not used       sigRequired           (5),  --Must sign the request       unauthorized          (6),  --Request unauthorized       badCRL                (8)   --Error in CRL processing   }The value for responseBytes consists of an OBJECT IDENTIFIER and a   response syntax identified by that OID encoded as an OCTET STRING.   ResponseBytes ::=       SEQUENCE {       responseType   OBJECT IDENTIFIER,       response       OCTET STRING }   For a basic OCSP responder, responseType will be id-pkix-ocsp-basic.   id-pkix-ocsp           OBJECT IDENTIFIER ::= { id-ad-ocsp }   id-pkix-ocsp-basic     OBJECT IDENTIFIER ::= { id-pkix-ocsp 1 }   OCSP responders SHALL be capable of producing responses of the id-   pkix-ocsp-basic response type. Correspondingly, OCSP clients SHALL be   capable of receiving and processing responses of the id-pkix-ocsp-   basic response type.   The value for response SHALL be the DER encoding of   BasicOCSPResponse.   BasicOCSPResponse       ::= SEQUENCE {      tbsResponseData          ResponseData,      signatureAlgorithm       AlgorithmIdentifier,      signature                BIT STRING,      certs                [0] EXPLICIT Certificates OPTIONAL }   The value for signature SHALL be computed on the DER encoding of   tbsResponseData.  The responder MAY include certificates that help   the OCSP client verify the responder's signature in the certs field   of BasicOCSPResponse.   ResponseData ::= SEQUENCE {      version              [0] EXPLICIT Version DEFAULT v1,      responderID              ResponderID,      producedAt               GeneralizedTime,      responses                SEQUENCE OF SingleResponse,      responseExtensions   [1] EXPLICIT Extensions OPTIONAL }   ResponderID ::= CHOICE {      byName               [1] Name,      byKey                [2] KeyHash }Malpani & all                                                  [Page 12]INTERNET DRAFT      OCSP extension and OCSPv2 protocol     December 2002   KeyHash ::= OCTET STRING -- SHA-1 hash of responder's public key   -- (i.e. the SHA-1 hash of the value of the BIT STRING    -- subjectPublicKey [excluding the tag, length and number of unused   --  bits] of the responder's certificate).   SingleResponse ::= SEQUENCE {      reqCert                      ReqCert,      -- MUST be identical to the same field from the request      certStatus                   CertStatus,      thisUpdate                   GeneralizedTime,      nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,      singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }CertStatus ::= CHOICE {       good        [0]     IMPLICIT NULL,       revoked     [1]     IMPLICIT RevokedInfo,       unknown     [2]     IMPLICIT UnknownInfo }   RevokedInfo ::= SEQUENCE {       revocationTime              GeneralizedTime,       revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }   UnknownInfo ::= NULL -- this can be replaced with an enumeration5.2.2  Notes on OCSP Responses5.2.2.1  Time   The thisUpdate and nextUpdate fields define a recommended validity   interval. This interval corresponds to the {thisUpdate, nextUpdate}   interval in CRLs. Responses whose nextUpdate value is earlier than   the local system time value SHOULD be considered unreliable.   Responses whose thisUpdate time is later than the local system time   SHOULD be considered unreliable. Responses where the nextUpdate   value is not set is explained in more detail in Section 2.4).   The producedAt time is the time at which this response was signed.5.2.2.2  Authorized Responders   The key that signs a certificate's status information need not be the   same key that signed the certificate. It is necessary however to   ensure that the entity signing this information is authorized to do   so.  Therefore, a certificate's issuer MUST either sign the OCSP   responses itself or it MUST explicitly designate this authority to   another entity.  OCSP signing delegation SHALL be designated by the   inclusion of id-kp-OCSPSigning in an extendedKeyUsage certificate   extension included in the OCSP response signer's certificate.   This certificate MUST be issued directly by the CA that issued the   certificate in question.   id-kp-OCSPSigning OBJECT IDENTIFIER ::= {id-kp 9}Malpani & all                                                  [Page 13]INTERNET DRAFT      OCSP extension and OCSPv2 protocol     December 2002   Systems or applications that rely on OCSP responses MUST be capable   of detecting and enforcing use of the id-kp-OCSPSigning value as   described above. They MAY provide a means of locally configuring one   or more OCSP signing authorities, and specifying the set of CAs for   which each signing authority is trusted. They MUST reject the   response if the certificate required to validate the signature on the   response fails to meet at least one of the following criteria:   1. Matches a local configuration of OCSP signing authority for the   certificate in question; or   2. Is the certificate of the CA that issued the certificate in   question; or   3. Includes a value of id-kp-OCSPSigning in an ExtendedKeyUsage   extension and is issued by the CA that issued the certificate in   question.   Additional acceptance or rejection criteria may apply to either the   response itself or to the certificate used to validate the signature   on the response.5.2.2.3.  Revocation Checking of an Authorized Responder   Since an Authorized OCSP responder provides status information for   one or more CAs, OCSP clients need to know how to check that an   authorized responder's certificate has not been revoked. CAs may   choose to deal with this problem in one of three ways:   - A CA may specify that an OCSP client can trust a responder for the   lifetime of the responder's certificate. The CA does so by including   the extension id-pkix-ocsp-nocheck. This SHOULD be a non-critical   extension.  The value of the extension should be NULL. CAs issuing   such a certificate should realize that a compromise of the   responder's key, is as serious as the compromise of a CA key used to   sign CRLs, at least for the validity period of this certificate.    CA's may choose to issue this type of certificate with a very short   lifetime and renew it frequently.   id-pkix-ocsp-nocheck OBJECT IDENTIFIER ::= { id-pkix-ocsp 5 }   - A CA may specify how the responder's certificate be checked for   revocation.  This can be done using CRL Distribution Points if the   check should be done using CRLs or CRL Distribution Points, or   Authority Information Access if the check should be done in some   other way.  Details for specifying either of these two mechanisms are   available in [RFC3280].   - A CA may choose not to specify any method of revocation checking   for the responder's certificate, in which case, it would be up to the   OCSP client's local security policy to decide whether that   certificate should be checked for revocation or not.Malpani & all                                                  [Page 14]INTERNET DRAFT      OCSP extension and OCSPv2 protocol     December 20025.2.2.4. Checks to be done by the responderThe key used to sign the response belongs to one of the following:       1) the CA who issued the certificate in question,       2) a Trusted Responder whose public key is trusted by the          requestor,       3) a CA Designated Responder (Authorized Responder) who holds a           specially marked certificate issued directly by the CA,           indicating that the responder may issue OCSP responses for           that CA.5.2.2.4.1. Responder whose public key is the same as the key from CA who issued the certificate   In that case, the OCSP server may either use a direct access to the    issuer database that contains the certificate or use CRLs that    originate directly from the issuer (e.g. communicated through a    trusted channel).  In that case either an access to a single data    base is supported or accesses to CRLs issued by one single issuer    are supported.  There cannot be any mistake about the name of the    issuer.5.2.2.4.2. Trusted Responder whose public key is trusted by the requestor   There are three ways for the client to designate the issuer:      a) using CertID.          Since the issuer may be using CRLs or OCSP servers to provide          the revocation status information, and since the keys for          signing the CRLs may be the same or different from the keys          used to sign the certificate, the OCSP server MUST make sure          that either the CRL or the OCSP response that it is using          is signed with the right key.  This means that the OCSP          responder MUST build a certification path up to one of its          trust anchors and then get the public key of the issuer.          At that time, it MUST verify that this key matches the          issuerKeyHash.  This key MUST match with the private key that          has been used is used to sign the CRL or the OCSP response or          the certificates issued to designate the CRL issuer or the          OCSP responder.       b) using the full certificate.          When the OCSP responder has a direct access to the data base          of the issuer for which it is providing revocation status          information, then it SHALL make sure that it is the right          certificate by verifying that the certificate that was sent          matches the one in the data base. Malpani & all                                                  [Page 15]INTERNET DRAFT      OCSP extension and OCSPv2 protocol     December 2002         When the OCSP responder does not have access to the data base          of the issuers, then it SHALL make sure that it is the right          certificate by verifying the signature over that certificate.          This MUST be done by verifying the signature over that          certificate.  For doing this, the OCSP responder first needs          to build a certification path up to one of its trust anchors         (without necessarily verifying the revocation status of the          CAs from the path).  The presumed issuer key is then used to          verify the signature of the certificate.  That issuer key MUST          then be used to verify that this key is used to sign the CRL          or the OCSP response, or the certificates issued to designate          the CRL issuer or the OCSP responder.      c) using CertIdWithSignature.          When the OCSP responder has a direct access to the data base          of the issuer for which it is providing revocation status          information, then it SHALL make sure that it is the right          certificate by verifying that the signature that was sent          matches with the signature of the certificate contained in 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -