Interface IX509PublicKey (certenroll.h)
L’interface IX509PublicKey représente une clé publique dans une paire de clés publique/privée. La clé publique est incluse dans la demande de certificat envoyée à une autorité de certification et dans le certificat reçu de l’autorité de certification. Pour plus d’informations, consultez Paires de clés publiques/privées.
Le contrôle d’inscription de certificat transmet des clés publiques et privées dans des tableaux d’octets. L’exemple de certificat suivant montre une clé publique 1024 bits créée à l’aide de l’algorithme de signature RSA, XCN_OID_RSA_RSA (1.2.840.113549.1.1.1).
...
Public Key Algorithm:
Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA (RSA_SIGN)
Algorithm Parameters:
05 00
Public Key Length: 1024 bits
Public Key: UnusedBits = 0
0000 30 81 89 02 81 81 00 8f e2 41 2a 08 e8 51 a8 8c
0010 b3 e8 53 e7 d5 49 50 b3 27 8a 2b cb ea b5 42 73
0020 ea 02 57 cc 65 33 ee 88 20 61 a1 17 56 c1 24 18
0030 e3 a8 08 d3 be d9 31 f3 37 0b 94 b8 cc 43 08 0b
0040 70 24 f7 9c b1 8d 5d d6 6d 82 d0 54 09 84 f8 9f
0050 97 01 75 05 9c 89 d4 d5 c9 1e c9 13 d7 2a 6b 30
0060 91 19 d6 d4 42 e0 c4 9d 7c 92 71 e1 b2 2f 5c 8d
0070 ee f0 f1 17 1e d2 5f 31 5b b1 9c bc 20 55 bf 3a
0080 37 42 45 75 dc 90 65 02 03 01 00 01
...
La clé publique se compose d’un module 1 024 bits créé en multipliant deux grands nombres premiers et un exposant 96 bits. L’algorithme RSA utilise l’exposant et les nombres premiers dans la formule euclidienne standard pour créer une clé privée. Le module et l’exposant peuvent être identifiés plus clairement en examinant la sortie ASN.1 suivante de la même clé publique. Étant donné que le module commence par un octet (0x8F) pour lequel le bit de signe est défini, 0x00 est ajouté pour garantir que l’entier reste non signé. D’autres algorithmes à clé publique créent des clés publiques composées de différentes parties constituantes.
30 81 89 ; SEQUENCE (89 Bytes)
02 81 81 ; INTEGER (81 Bytes)
| 00 // Modulus
| 8f e2 41 2a 08 e8 51 a8 8c b3 e8 53 e7 d5 49 50
| b3 27 8a 2b cb ea b5 42 73 ea 02 57 cc 65 33 ee
| 88 20 61 a1 17 56 c1 24 18 e3 a8 08 d3 be d9 31
| f3 37 0b 94 b8 cc 43 08 0b 70 24 f7 9c b1 8d 5d
| d6 6d 82 d0 54 09 84 f8 9f 97 01 75 05 9c 89 d4
| d5 c9 1e c9 13 d7 2a 6b 30 91 19 d6 d4 42 e0 c4
| 9d 7c 92 71 e1 b2 2f 5c 8d ee f0 f1 17 1e d2 5f
| 31 5b b1 9c bc 20 55 bf 3a 37 42 45 75 dc 90 65
02 03 ; INTEGER (3 Bytes)
01 00 01 // Exponent
Héritage
L’interface IX509PublicKey hérite de l’interface IDispatch. IX509PublicKey a également les types de membres suivants :
Méthodes
L’interface IX509PublicKey utilise ces méthodes.
IX509PublicKey ::ComputeKeyIdentifier Crée un identificateur à partir d’un hachage SHA-1 160 bits de la clé publique. |
IX509PublicKey ::get_Algorithm Récupère un identificateur d’objet (OID) pour l’algorithme de clé publique. |
IX509PublicKey ::get_EncodedKey Récupère un tableau d’octets qui contient la clé publique. |
IX509PublicKey ::get_EncodedParameters Récupère un tableau d’octets qui contient les paramètres associés à l’algorithme de clé publique. |
IX509PublicKey ::get_Length Récupère la longueur de la clé publique. |
IX509PublicKey ::Initialize Initialise l’objet à partir d’un identificateur d’objet d’algorithme de clé publique (OID) et à partir de tableaux d’octets qui contiennent une clé publique et les paramètres associés, le cas échéant. |
IX509PublicKey ::InitializeFromEncodedPublicKeyInfo Initialise l’objet à partir d’un tableau d’octets qui contient une clé publique. |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | certenroll.h |