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

📄 rfc3279.txt

📁 PKIX的RFC英文文档
💻 TXT
📖 第 1 页 / 共 4 页
字号:
         seed      BIT STRING OPTIONAL }      FieldElement ::= OCTET STRING      ECPoint ::= OCTET STRING   The value of FieldElement SHALL be the octet string representation of   a field element following the conversion routine in [X9.62], Section   4.3.3.  The value of ECPoint SHALL be the octet string representation   of an elliptic curve point following the conversion routine in   [X9.62], Section 4.3.6.  Note that this octet string may represent an   elliptic curve point in compressed or uncompressed form.   Implementations that support elliptic curve according to this   specification MUST support the uncompressed form and MAY support the   compressed form.   The components of type ECParameters have the following meanings:      version specifies the version number of the elliptic curve      parameters.  It MUST have the value 1 (ecpVer1).Polk, et al.                Standards Track                    [Page 14]RFC 3279               Algorithms and Identifiers             April 2002      fieldID identifies the finite field over which the elliptic curve      is defined.  Finite fields are represented by values of the      parameterized type FieldID, constrained to the values of the      objects defined in the information object set FieldTypes.      Additional detail regarding fieldID is provided below.      curve specifies the coefficients a and b of the elliptic curve E.      Each coefficient is represented as a value of type FieldElement,      an OCTET STRING. seed is an optional parameter used to derive the      coefficients of a randomly generated elliptic curve.      base specifies the base point P on the elliptic curve.  The base      point is represented as a value of type ECPoint, an OCTET STRING.      order specifies the order n of the base point.      cofactor is the integer h = #E(Fq)/n.  This parameter is specified      as OPTIONAL.  However, the cofactor MUST be included in ECDH      public key parameters.  The cofactor is not required to support      ECDSA, except in parameter validation.  The cofactor MAY be      included to support parameter validation for ECDSA keys.      Parameter validation is not required by this specification.   The AlgorithmIdentifier within SubjectPublicKeyInfo is the only place   within a certificate where the parameters may be used.  If the   elliptic curve parameters are specified as implicitlyCA in the   SubjectPublicKeyInfo AlgorithmIdentifier and the CA signed the   subject certificate using ECDSA, then the certificate issuer's ECDSA   parameters apply to the subject's ECDSA key.  If the elliptic curve   parameters are specified as implicitlyCA in the SubjectPublicKeyInfo   AlgorithmIdentifier and the CA signed the certificate using a   signature algorithm other than ECDSA, then clients MUST not make use   of the elliptic curve public key.      FieldID ::= SEQUENCE {         fieldType   OBJECT IDENTIFIER,         parameters  ANY DEFINED BY fieldType }   FieldID is a SEQUENCE of two components, fieldType and parameters.   The fieldType contains an object identifier value that uniquely   identifies the type contained in the parameters.   The object identifier id-fieldType specifies an arc containing the   object identifiers of each field type.  It has the following value:      id-fieldType OBJECT IDENTIFIER ::= { ansi-X9-62 fieldType(1) }Polk, et al.                Standards Track                    [Page 15]RFC 3279               Algorithms and Identifiers             April 2002   The object identifiers prime-field and characteristic-two-field name   the two kinds of fields defined in this Standard.  They have the   following values:      prime-field OBJECT IDENTIFIER ::= { id-fieldType 1 }      Prime-p ::= INTEGER    -- Field size p (p in bits)      characteristic-two-field OBJECT IDENTIFIER ::= { id-fieldType 2 }      Characteristic-two ::= SEQUENCE {         m           INTEGER,                      -- Field size 2^m         basis       OBJECT IDENTIFIER,         parameters  ANY DEFINED BY basis }   The object identifier id-characteristic-two-basis specifies an arc   containing the object identifiers for each type of basis for the   characteristic-two finite fields.  It has the following value:      id-characteristic-two-basis OBJECT IDENTIFIER ::= {           characteristic-two-field basisType(1) }   The object identifiers gnBasis, tpBasis and ppBasis name the three   kinds of basis for characteristic-two finite fields defined by   [X9.62].  They have the following values:      gnBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 1 }      -- for gnBasis, the value of the parameters field is NULL      tpBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 2 }      -- type of parameters field for tpBasis is Trinomial      Trinomial ::= INTEGER      ppBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 3 }      -- type of parameters field for ppBasis is Pentanomial      Pentanomial ::= SEQUENCE {         k1  INTEGER,         k2  INTEGER,         k3  INTEGER }Polk, et al.                Standards Track                    [Page 16]RFC 3279               Algorithms and Identifiers             April 2002   The elliptic curve public key (an ECPoint which is an OCTET STRING)   is mapped to a subjectPublicKey (a BIT STRING) as follows:  the most   significant bit of the OCTET STRING becomes the most significant bit   of the BIT STRING, and the least significant bit of the OCTET STRING   becomes the least significant bit of the BIT STRING.  Note that this   octet string may represent an elliptic curve point in compressed or   uncompressed form.  Implementations that support elliptic curve   according to this specification MUST support the uncompressed form   and MAY support the compressed form.   If the keyUsage extension is present in a CA or CRL issuer   certificate which conveys an elliptic curve public key, any   combination of the following values MAY be present:      digitalSignature;      nonRepudiation; and      keyAgreement.   If the keyAgreement value is present, either of the following values   MAY be present:      encipherOnly; and      decipherOnly.   The keyUsage extension MUST NOT assert both encipherOnly and   decipherOnly.   If the keyUsage extension is present in a CA certificate which   conveys an elliptic curve public key, any combination of the   following values MAY be present:      digitalSignature;      nonRepudiation;      keyAgreement;      keyCertSign; and      cRLSign.   As above, if the keyUsage extension asserts keyAgreement then it MAY   assert either encipherOnly and decipherOnly.  However, this   specification RECOMMENDS that if keyCertSign or cRLSign is present,   keyAgreement, encipherOnly, and decipherOnly SHOULD NOT be present.Polk, et al.                Standards Track                    [Page 17]RFC 3279               Algorithms and Identifiers             April 20023  ASN.1 Module   PKIX1Algorithms88 { iso(1) identified-organization(3) dod(6)   internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)   id-mod-pkix1-algorithms(17) }   DEFINITIONS EXPLICIT TAGS ::= BEGIN   -- EXPORTS All;   -- IMPORTS NONE;   --   --   One-way Hash Functions   --   md2  OBJECT IDENTIFIER ::= {     iso(1) member-body(2) us(840) rsadsi(113549)     digestAlgorithm(2) 2 }   md5  OBJECT IDENTIFIER ::= {     iso(1) member-body(2) us(840) rsadsi(113549)     digestAlgorithm(2) 5 }   id-sha1  OBJECT IDENTIFIER ::= {     iso(1) identified-organization(3) oiw(14) secsig(3)     algorithms(2) 26 }   --   --   DSA Keys and Signatures   --   -- OID for DSA public key   id-dsa OBJECT IDENTIFIER ::= {        iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }   -- encoding for DSA public key   DSAPublicKey ::= INTEGER  -- public key, y   Dss-Parms  ::=  SEQUENCE  {      p             INTEGER,      q             INTEGER,      g             INTEGER  }Polk, et al.                Standards Track                    [Page 18]RFC 3279               Algorithms and Identifiers             April 2002   -- OID for DSA signature generated with SHA-1 hash   id-dsa-with-sha1 OBJECT IDENTIFIER ::=  {        iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }   -- encoding for DSA signature generated with SHA-1 hash   Dss-Sig-Value  ::=  SEQUENCE  {      r       INTEGER,      s       INTEGER  }   --   --   RSA Keys and Signatures   --   -- arc for RSA public key and RSA signature OIDs   pkcs-1 OBJECT IDENTIFIER ::= {         iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }   -- OID for RSA public keys   rsaEncryption OBJECT IDENTIFIER ::=  { pkcs-1 1 }   -- OID for RSA signature generated with MD2 hash   md2WithRSAEncryption OBJECT IDENTIFIER  ::=  { pkcs-1 2 }   -- OID for RSA signature generated with MD5 hash   md5WithRSAEncryption OBJECT IDENTIFIER  ::=  { pkcs-1 4 }   -- OID for RSA signature generated with SHA-1 hash   sha1WithRSAEncryption OBJECT IDENTIFIER  ::=  { pkcs-1 5 }   -- encoding for RSA public key   RSAPublicKey ::= SEQUENCE {      modulus            INTEGER,    -- n      publicExponent     INTEGER  }  -- ePolk, et al.                Standards Track                    [Page 19]RFC 3279               Algorithms and Identifiers             April 2002   --   --   Diffie-Hellman Keys   --   dhpublicnumber OBJECT IDENTIFIER ::= {        iso(1) member-body(2) us(840) ansi-x942(10046)        number-type(2) 1 }   -- encoding for DSA public key   DHPublicKey ::= INTEGER  -- public key, y = g^x mod p   DomainParameters ::= SEQUENCE {      p       INTEGER,           -- odd prime, p=jq +1      g       INTEGER,           -- generator, g      q       INTEGER,           -- factor of p-1      j       INTEGER OPTIONAL,  -- subgroup factor, j>= 2      validationParms  ValidationParms OPTIONAL }   ValidationParms ::= SEQUENCE {      seed             BIT STRING,      pgenCounter      INTEGER }   --   --   KEA Keys   --   id-keyExchangeAlgorithm  OBJECT IDENTIFIER  ::=        { 2 16 840 1 101 2 1 1 22 }   KEA-Parms-Id ::= OCTET STRING   --   --   Elliptic Curve Keys, Signatures, and Curves   --   ansi-X9-62 OBJECT IDENTIFIER ::= {        iso(1) member-body(2) us(840) 10045 }   FieldID ::= SEQUENCE {                    -- Finite field      fieldType   OBJECT IDENTIFIER,      parameters  ANY DEFINED BY fieldType }   -- Arc for ECDSA signature OIDS   id-ecSigType OBJECT IDENTIFIER ::= { ansi-X9-62 signatures(4) }Polk, et al.                Standards Track                    [Page 20]RFC 3279               Algorithms and Identifiers             April 2002   -- OID for ECDSA signatures with SHA-1   ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { id-ecSigType 1 }   -- OID for an elliptic curve signature   -- format for the value of an ECDSA signature value   ECDSA-Sig-Value ::= SEQUENCE {      r     INTEGER,      s     INTEGER }

⌨️ 快捷键说明

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