IX509PublicKey-Schnittstelle (certenroll.h)

Die IX509PublicKey-Schnittstelle stellt einen öffentlichen Schlüssel in einem öffentlichen/privaten Schlüsselpaar dar. Der öffentliche Schlüssel ist in der Zertifikatanforderung enthalten, die an eine Zertifizierungsstelle gesendet wird, und in dem Zertifikat, das von der Zertifizierungsstelle empfangen wurde. Weitere Informationen finden Sie unter Öffentliche/private Schlüsselpaare.

Das Zertifikatregistrierungssteuerelement übergibt öffentliche und private Schlüssel in Bytearrays. Das folgende Zertifikatbeispiel zeigt einen öffentlichen 1024-Bit-Schlüssel, der mithilfe des RSA-Signaturalgorithmus erstellt wurde, 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
...

Der öffentliche Schlüssel besteht aus einem 1024-Bit-Modul, das durch Multiplizieren von zwei großen Primzahlen und einem 96-Bit-Exponenten erstellt wird. Der RSA-Algorithmus verwendet den Exponenten und die Primzahlen in der euklidischen Standardformel, um einen privaten Schlüssel zu erstellen. Modul und Exponent können klarer identifiziert werden, indem die folgende ASN.1-Ausgabe desselben öffentlichen Schlüssels untersucht wird. Da der Modulus mit einem Byte (0x8F) beginnt, für das das Zeichenbit festgelegt ist, wird 0x00 vorangestellt, um sicherzustellen, dass die ganze Zahl ohne Vorzeichen bleibt. Andere Algorithmen für öffentliche Schlüssel erstellen öffentliche Schlüssel, die aus verschiedenen Bestandteilen bestehen.


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


Vererbung

Die IX509PublicKey-Schnittstelle erbt von der IDispatch-Schnittstelle . IX509PublicKey verfügt auch über die folgenden Membertypen:

Methoden

Die IX509PublicKey-Schnittstelle verfügt über diese Methoden.

 
IX509PublicKey::ComputeKeyIdentifier

Erstellt einen Bezeichner aus einem 160-Bit-SHA-1-Hash des öffentlichen Schlüssels.
IX509PublicKey::get_Algorithm

Ruft einen Objektbezeichner (Object Identifier, OID) für den Algorithmus für öffentliche Schlüssel ab.
IX509PublicKey::get_EncodedKey

Ruft ein Bytearray ab, das den öffentlichen Schlüssel enthält.
IX509PublicKey::get_EncodedParameters

Ruft ein Bytearray ab, das die Parameter enthält, die dem Algorithmus für öffentliche Schlüssel zugeordnet sind.
IX509PublicKey::get_Length

Ruft die Länge des öffentlichen Schlüssels ab.
IX509PublicKey::Initialize

Initialisiert das -Objekt aus einem Objektbezeichner des Öffentlichen Schlüsselalgorithmus (OID) und aus Bytearrays, die einen öffentlichen Schlüssel und ggf. die zugeordneten Parameter enthalten.
IX509PublicKey::InitializeFromEncodedPublicKeyInfo

Initialisiert das -Objekt aus einem Bytearray, das einen öffentlichen Schlüssel enthält.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certenroll.h

Weitere Informationen

CertEnroll-Schnittstellen

IDispatch

IX509PrivateKey

Öffentliche/private Schlüsselpaare