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:- Die Nachricht wird mit einem Inhaltsverschlüsselungsschlüssel (Content Encryption Key, CEK) und einem symmetrischen Verschlüsselungsalgorithmus verschlüsselt.
- Der CEK wird mithilfe eines Verschlüsselungsschlüssels für symmetrische Schlüssel (KEK) verschlüsselt (umschlossen).
- 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)
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 |