Freigeben über


IX509PublicKey::get_EncodedParameters-Methode (certenroll.h)

Die EncodedParameters-Eigenschaft ruft ein Bytearray ab, das die Parameter enthält, die dem Public Key-Algorithmus zugeordnet sind. Das Bytearray wird durch eine Unicode-codierte Zeichenfolge dargestellt.

Diese Eigenschaft ist schreibgeschützt.

Syntax

HRESULT get_EncodedParameters(
  EncodingType Encoding,
  BSTR         *pValue
);

Parameter

Encoding

pValue

Rückgabewert

Keine

Bemerkungen

Rufen Sie die InitializeFromEncodedPublicKeyInfo-Methode oder die Initialize-Methode auf, um das Öffentliche Schlüsselobjekt vor dem Aufruf dieser Eigenschaft zu initialisieren.

Das AlgorithmIdentifier Abstract Syntax Notation One (ASN.1)-Objekt, auf das vom SubjectPublicKeyInfo-Objekt in einem X.509 Version 3-Zertifikat verwiesen wird, enthält einen Algorithmusobjektbezeichner (OID) und optionale Parameter.


SubjectPublicKeyInfo  ::=  SEQUENCE
{
   algorithm            AlgorithmIdentifier,
   subjectPublicKey     BIT STRING  
}

AlgorithmIdentifier  ::=  SEQUENCE  
{
   algorithm            OBJECT IDENTIFIER,
   parameters           ANY DEFINED BY algorithm OPTIONAL  
}

Format und Inhalt der Parameter unterscheiden sich je nach Algorithmus. Das Zertifikatregistrierungssteuerelement generiert nach Bedarf Parameterwerte für verschiedene Algorithmen. Weitere Informationen finden Sie in den folgenden Abschnitten:

  • RSA Public Key-Algorithmus
  • Schlüsseltransport mit RSA-OAEP
  • Schlüsselvereinbarung mit ECDH
  • Inhaltsverschlüsselung mithilfe von AES

RSA Public Key-Algorithmus

RSA wird häufig verwendet, um einen privaten Schlüssel zu verschlüsseln und ihn zur Archivierung an eine Zertifizierungsstelle (CA) zu senden. Die XCN_OID_RSA_RSA (1.2.840.113549.1.1.1.1)-Algorithmus-OID muss einen NULL-Parameterwert aufweisen. Der ASN.1 NULL-Wert wird durch zwei Bytes dargestellt. Die Tagnummer ist 0x05, und der dem Tag zugeordnete Wert ist 0x00. Dies wird im folgenden Zertifikatbeispiel veranschaulicht.

...
Public Key Algorithm:
    Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA (RSA_KEYX)
    Algorithm Parameters:
    05 00
...

Schlüsseltransport mit RSA-OAEP

Der RSA-OAEP-Algorithmus XCN_OID_RSAES_OAEP (1.2.840.113549.1.1.1.7) wird auch für den Schlüsseltransport unterstützt. Das Parameterfeld weist die folgende Syntax auf.

RSAES-OAEP-params  ::=  SEQUENCE  
{
   hashFunc    [0] AlgorithmIdentifier DEFAULT sha1OID,
   maskGenFunc [1] AlgorithmIdentifier DEFAULT mgf1SHA1OID,
   pSourceFunc [2] AlgorithmIdentifier DEFAULT pSpecifiedEmptyOID
}

Schlüsselvereinbarung mit ECDH

Der Single Pass Elliptic Curve Diffie-Hellman Algorithmus, XCN_OID_DH_SINGLE_PASS_STDDH_SHA1_KDF (1.3.133.16.840.63.0.2), wird für die Schlüsselvereinbarung unterstützt. Die Schlüsselvereinbarung verwendet zwei Verschlüsselungsstufen:Der KEK wird aus einer gemeinsam genutzten geheimen Nummer berechnet, die aus dem privaten Schlüssel einer Partei und dem öffentlichen Schlüssel der anderen Partei berechnet wird. Das Parameterfeld enthält die OID des KEK-Algorithmus, der zum Umschließen oder Verschlüsseln des CEK verwendet wird. Die folgenden Wrapalgorithmen werden unterstützt:
  • XCN_OID_RSA_SMIMEalgCMS3DESwrap (1.2.840.113549.1.9.16.3.)
  • XCN_OID_RSA_SMIMEalgCMSRC2wrap (1.2.840.113549.1.9.16.3.7)
  • XCN_OID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
  • XCN_OID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
  • XCN_OID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)

Inhaltsverschlüsselung mithilfe von AES

Der Advanced Encryption Standard (AES) wird verwendet, um Inhalte zu verschlüsseln. Die folgenden Algorithmen werden unterstützt:
  • XCN_OID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2)
  • XCN_OID_NIST_AES192_CBC (2.16.840.1.101.3.4.1.22)
  • XCN_OID_NIST_AES256_CBC (2.16.840.1.101.3.4.1.42)
Das Parameterfeld enthält den zufälligen Initialisierungsvektor AES-IV.

AES-IV ::= OCTET STRING (SIZE(16))

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
DLL CertEnroll.dll

Weitere Informationen

IX509PublicKey