Condividi tramite


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

Vedi anche

Interfacce CertEnroll

Idispatch

IX509PrivateKey

Coppie di chiavi pubbliche/private