IX509AttributeArchiveKey::InitializeEncode メソッド (certenroll.h)
InitializeEncode メソッドは、IX509PrivateKey オブジェクト、証明機関暗号化証明書、および対称暗号化アルゴリズム オブジェクト識別子 (OID) から属性を初期化します。
構文
HRESULT InitializeEncode(
[in] IX509PrivateKey *pKey,
[in] EncodingType Encoding,
[in] BSTR strCAXCert,
[in, optional] IObjectId *pAlgorithm,
[in] LONG EncryptionStrength
);
パラメーター
[in] pKey
キーを表す IX509PrivateKey インターフェイスへのポインター。
[in] Encoding
暗号化されたキーを含む入力文字列に適用される Unicode エンコードの種類を指定する EncodingType 列挙値。
[in] strCAXCert
秘密キーの暗号化に使用される公開キーを含む証明機関の暗号化証明書を含む BSTR 変数。
Windows 7 および Windows Server 2008 R2 以降では、エンコードされた証明書ではなく、証明書のサムプリントまたはシリアル番号を指定できます。 これにより、関数は適切なローカル ストアで一致する証明書を検索します。 以下の点に注意してください。
- BSTR は偶数の 16 進数である必要があります。
- 16 進数のペア間の空白は無視されます。
- Encoding パラメーターは、XCN_CRYPT_STRING_HEXRAWに設定する必要があります。
- 秘密キーは、個人用ストアと要求ストアのみが検索されます。
[in, optional] pAlgorithm
秘密キーの暗号化に使用される対称暗号化アルゴリズムの OID を表す IObjectId インターフェイスへのポインター。 このパラメーターは省略可能です。 OID を指定しない場合は、XCN_OID_RSA_DES_EDE3_CBC (Triple DES) が使用されます。
[in] EncryptionStrength
pAlgorithm パラメーターによって識別されるアルゴリズムの暗号化強度を含む LONG 変数。 証明書登録 SDK では、OID が強度 (キーの長さ) を示していないアルゴリズムがサポートされていないため、このパラメーターは現在使用されていません。 たとえば、AES には複数の強度がありますが、それぞれが OID によって既に示されています。
戻り値
関数が成功した場合、関数は S_OKを返します。
関数が失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
注釈
この属性のオブジェクト識別子は XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13) です。 詳細については、「 CERTENROLL_OBJECTID」を参照してください。
IX509AttributeArchiveKey オブジェクトを使用するには、InitializeEncode または InitializeDecode を呼び出す必要があります。 2 つのメソッドは相互に補完します。 InitializeEncode メソッドを使用すると、エンコードされた抽象構文表記 1 (ASN.1) 構造体を生データから構築できます。InitializeDecode メソッドを使用すると、エンコードされた ASN.1 構造体から生データを初期化できます。 次のプロパティを呼び出して、生データを取得できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certenroll.h |
[DLL] | CertEnroll.dll |