Compartir a través de


Interfaz IX509PublicKey (certenroll.h)

La interfaz IX509PublicKey representa una clave pública en un par de claves pública y privada. La clave pública se incluye en la solicitud de certificado enviada a una entidad de certificación (CA) y en el certificado recibido de la ENTIDAD de certificación. Para obtener más información, consulte Pares de claves públicas y privadas.

El control de inscripción de certificados pasa claves públicas y privadas en matrices de bytes. En el ejemplo de certificado siguiente se muestra una clave pública de 1024 bits creada mediante el algoritmo de firma RSA, XCN_OID_RSA_RSA (1.2.840.113549.1.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 clave pública consta de un módulo de 1024 bits creado multiplicando dos números primos grandes y un exponente de 96 bits. El algoritmo RSA usa el exponente y los números primos de la fórmula euclidiana estándar para crear una clave privada. El módulo y el exponente se pueden identificar con más claridad examinando la siguiente salida de ASN.1 de la misma clave pública. Dado que el módulo comienza con un byte (0x8F) para el que se establece el bit de signo, 0x00 se antepone para asegurarse de que el entero permanece sin signo. Otros algoritmos de clave pública crean claves públicas formadas por diferentes partes constituyentes.


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


Herencia

La interfaz IX509PublicKey hereda de la interfaz IDispatch . IX509PublicKey también tiene estos tipos de miembros:

Métodos

La interfaz IX509PublicKey tiene estos métodos.

 
IX509PublicKey::ComputeKeyIdentifier

Crea un identificador a partir de un hash SHA-1 de 160 bits de la clave pública.
IX509PublicKey::get_Algorithm

Recupera un identificador de objeto (OID) para el algoritmo de clave pública.
IX509PublicKey::get_EncodedKey

Recupera una matriz de bytes que contiene la clave pública.
IX509PublicKey::get_EncodedParameters

Recupera una matriz de bytes que contiene los parámetros asociados al algoritmo de clave pública.
IX509PublicKey::get_Length

Recupera la longitud de la clave pública.
IX509PublicKey::Initialize

Inicializa el objeto a partir de un identificador de objeto de algoritmo de clave pública (OID) y de matrices de bytes que contienen una clave pública y los parámetros asociados, si los hay.
IX509PublicKey::InitializeFromEncodedPublicKeyInfo

Inicializa el objeto de una matriz de bytes que contiene una clave pública.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h

Consulte también

CertEnroll Interfaces

IDispatch

IX509PrivateKey

Pares de claves públicas y privadas