3.2.2 Specification of Public Keys In X.509 Certificates
All changes in this version
Title
Specification of Public Keys In X.509 Certificates
Control
FIPS 201-2 requires generation and storage of an X.509 certificate to correspond with each asymmetric private key contained on the PIV Card, except the PIV Secure Messaging key. X.509 certificates include object identifiers to specify the cryptographic algorithm associated with a
4 The OID for RSA with SHA-1 and PKCS #1 v1.5 padding is included in Table 3-3 since applications may encounter X.509 certificates that were signed before January 1, 2011, using this algorithm. 5 For the CHUID, Security Object, and biometric information the signatureAlgorithm field of SignerInfo shall contain rsaEncryption (1.2.840.113549.1.1.1) when the signature algorithm is RSA with PKCS #1 v1.5 padding. public key. Table 3-4 , below, specifies the object identifiers that may be used in certificates to indicate the algorithm for a subject public key.
Table 3-4. Public Key Object Identifiers for PIV Key Types
PIV Key Type Asymmetric Algorithm Object Identifier (OID)
PIV Authentication key; Card Authentication key; digital signature key RSA {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) 1}
ECDSA {iso(1) member-body(2) us(840) ansi-X9-62(10045) id-publicKeyType(2) 1}
key management key RSA {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) 1}
ECDH {iso(1) member-body(2) us(840) ansi-X9-62(10045) id-publicKeyType(2) 1}
A single object identifier is specified in Table 3-4 for all elliptic curve keys. An additional object identifier must be supplied in a parameters field to indicate the elliptic curve associated with the key. Table 3-5 , below, identifies the named curves and associated OIDs. (RSA exponents are encoded with the modulus in the certificate’s subject public key, so the OID is not affected.) Table 3-5. ECC Parameter Object Identifiers for Approved Curves
Asymmetric Algorithm Object Identifier (OID)
Curve P-256 ansip256r1 ::= { iso(1) member-body(2) us(840) ansi-X9-62 ( 10045) curves(3) prime(1) 7 } Curve P-384 ansip384r1 ::= { iso(1) identified-organization(3) certicom(132) curve(0) 34 }