Compartilhar via


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

Confira também

CertEnroll Interfaces

IDispatch

IX509PrivateKey

Pares de chaves públicas/privadas