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

こちらもご覧ください

IX509AttributeArchiveKey