IX509AttributeArchiveKey::InitializeEncode-Methode (certenroll.h)
Die InitializeEncode-Methode initialisiert das Attribut aus einem IX509PrivateKey-Objekt , dem Verschlüsselungszertifikat der Zertifizierungsstelle und dem Objektbezeichner des symmetrischen Verschlüsselungsalgorithmus (OID).
Syntax
HRESULT InitializeEncode(
[in] IX509PrivateKey *pKey,
[in] EncodingType Encoding,
[in] BSTR strCAXCert,
[in, optional] IObjectId *pAlgorithm,
[in] LONG EncryptionStrength
);
Parameter
[in] pKey
Zeiger auf eine IX509PrivateKey-Schnittstelle , die den Schlüssel darstellt.
[in] Encoding
Ein EncodingType-Enumerationswert , der den Typ der Unicode-Codierung angibt, die auf die Eingabezeichenfolge angewendet wird, die den verschlüsselten Schlüssel enthält.
[in] strCAXCert
Eine BSTR-Variable , die das Verschlüsselungszertifikat der Zertifizierungsstelle enthält, das den öffentlichen Schlüssel enthält, der zum Verschlüsseln des privaten Schlüssels verwendet wird.
Ab Windows 7 und Windows Server 2008 R2 können Sie anstelle eines codierten Zertifikats einen Fingerabdruck oder eine Seriennummer angeben. Dadurch durchsucht die Funktion die entsprechenden lokalen Speicher nach dem übereinstimmenden Zertifikat. Berücksichtigen Sie dabei Folgendes:
- Der BSTR muss eine gerade Anzahl von Hexadezimalstellen sein.
- Leerzeichen zwischen Hexadezimalpaaren werden ignoriert.
- Der Encoding-Parameter muss auf XCN_CRYPT_STRING_HEXRAW festgelegt werden.
- Nur die persönlichen Speicher und die Anforderungsspeicher werden nach dem privaten Schlüssel gesucht.
[in, optional] pAlgorithm
Zeiger auf eine IObjectId-Schnittstelle , die die OID des symmetrischen Verschlüsselungsalgorithmus darstellt, der zum Verschlüsseln des privaten Schlüssels verwendet wird. Dieser Parameter ist optional. Wenn Sie keine OID angeben, wird XCN_OID_RSA_DES_EDE3_CBC (Triple DES) verwendet.
[in] EncryptionStrength
Eine LONG-Variable , die die Verschlüsselungsstärke des Algorithmus enthält, der durch den pAlgorithm-Parameter identifiziert wird. Dieser Parameter wird derzeit nicht verwendet, da das Zertifikatregistrierungs-SDK keine Algorithmen unterstützt, für die die OID nicht bereits die Stärke (Schlüssellänge) impliziert. Beispielsweise hat AES mehrere Stärken, aber die Stärke wird bereits durch die OID angegeben.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.
Wenn die Funktion fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
Hinweise
Der Objektbezeichner für dieses Attribut ist XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13). Weitere Informationen finden Sie unter CERTENROLL_OBJECTID.
Sie müssen entweder InitializeEncode oder InitializeDecode aufrufen, bevor Sie ein IX509AttributeArchiveKey-Objekt verwenden können. Die beiden Methoden ergänzen sich. Mit der InitializeEncode-Methode können Sie eine codierte ASN.1-Struktur ( Abstract Syntax Notation One ) aus Rohdaten erstellen, und mit der InitializeDecode-Methode können Sie Rohdaten aus einer codierten ASN.1-Struktur initialisieren. Sie können die folgenden Eigenschaften aufrufen, um die Rohdaten abzurufen:
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 |