Interface IX509PublicKey (certenroll.h)
A interface IX509PublicKey representa uma chave pública em um par de chaves públicas/privadas. A chave pública é incluída na solicitação de certificado enviada a uma AC (autoridade de certificação) e no certificado recebido da AC. Para obter mais informações, consulte Pares de chaves públicas/privadas.
O Controle de Registro de Certificado passa chaves públicas e privadas em matrizes de bytes. O exemplo de certificado a seguir mostra uma chave pública de 1024 bits criada usando o algoritmo de assinatura 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
...
A chave pública consiste em um módulo de 1024 bits criado multiplicando dois números primos grandes e um expoente de 96 bits. O algoritmo RSA usa o expoente e os números primos na fórmula euclidiana padrão para criar uma chave privada. O módulo e o expoente podem ser identificados com mais clareza examinando a seguinte saída ASN.1 da mesma chave pública. Como o módulo começa com um byte (0x8F) para o qual o bit de sinal está definido, 0x00 é acrescentado para garantir que o inteiro permaneça sem sinal. Outros algoritmos de chave pública criam chaves públicas compostas de diferentes partes constituintes.
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
Herança
A interface IX509PublicKey herda da interface IDispatch . O IX509PublicKey também tem estes tipos de membros:
Métodos
A interface IX509PublicKey tem esses métodos.
IX509PublicKey::ComputeKeyIdentifier Cria um identificador de um hash SHA-1 de 160 bits da chave pública. |
IX509PublicKey::get_Algorithm Recupera um OID (identificador de objeto) para o algoritmo de chave pública. |
IX509PublicKey::get_EncodedKey Recupera uma matriz de bytes que contém a chave pública. |
IX509PublicKey::get_EncodedParameters Recupera uma matriz de bytes que contém os parâmetros associados ao algoritmo de chave pública. |
IX509PublicKey::get_Length Recupera o comprimento da chave pública. |
IX509PublicKey::Initialize Inicializa o objeto de um OID (identificador de objeto de algoritmo de chave pública) e de matrizes de bytes que contêm uma chave pública e os parâmetros associados, se houver. |
IX509PublicKey::InitializeFromEncodedPublicKeyInfo Inicializa o objeto de uma matriz de bytes que contém uma chave pública. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certenroll.h |