Partager via


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

Voir aussi

CertEnroll Interfaces

IDispatch

IX509PrivateKey

Paires de clés publiques/privées