Interfaccia IX509PublicKey (certenroll.h)
L'interfaccia IX509PublicKey rappresenta una chiave pubblica in una coppia di chiavi pubblica/privata. La chiave pubblica è inclusa nella richiesta di certificato inviata a un'autorità di certificazione (CA) e nel certificato ricevuto dalla CA. Per altre informazioni, vedere Coppie di chiavi pubbliche/private.
Il controllo registrazione certificati passa chiavi pubbliche e private in matrici di byte. L'esempio di certificato seguente mostra una chiave pubblica a 1024 bit creata usando l'algoritmo di firma 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 chiave pubblica è costituita da un modulo a 1024 bit creato moltiplicando due numeri primi di grandi dimensioni e un esponente a 96 bit. L'algoritmo RSA usa l'esponente e i numeri primi nella formula euclidea standard per creare una chiave privata. Il modulo e l'esponente possono essere identificati più chiaramente esaminando l'output ASN.1 seguente della stessa chiave pubblica. Poiché il modulo inizia con un byte (0x8F) per il quale è impostato il bit di segno, 0x00 viene anteposta per garantire che l'intero rimanga senza segno. Altri algoritmi a chiave pubblica creano chiavi pubbliche costituite da parti costitutive diverse.
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
Ereditarietà
L'interfaccia IX509PublicKey eredita dall'interfaccia IDispatch . IX509PublicKey include anche questi tipi di membri:
Metodi
L'interfaccia IX509PublicKey include questi metodi.
IX509PublicKey::ComputeKeyIdentifier Crea un identificatore da un hash SHA-1 a 160 bit della chiave pubblica. |
IX509PublicKey::get_Algorithm Recupera un identificatore di oggetto (OID) per l'algoritmo a chiave pubblica. |
IX509PublicKey::get_EncodedKey Recupera una matrice di byte che contiene la chiave pubblica. |
IX509PublicKey::get_EncodedParameters Recupera una matrice di byte che contiene i parametri associati all'algoritmo di chiave pubblica. |
IX509PublicKey::get_Length Recupera la lunghezza della chiave pubblica. |
IX509PublicKey::Initialize Inizializza l'oggetto da un OID (Public Key Algorithm Object Identifier) e da matrici di byte che contengono una chiave pubblica e i parametri associati, se presenti. |
IX509PublicKey::InitializeFromEncodedPublicKeyInfo Inizializza l'oggetto da una matrice di byte che contiene una chiave pubblica. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certenroll.h |