次の方法で共有


IX509Enrollment::CreatePFX メソッド (certenroll.h)

CreatePFX メソッドは、個人情報交換 (PFX) メッセージを作成します。 メッセージは、抽象構文表記法 1 (ASN.1) 標準で定義されているDistinguished Encoding Rules (DER) を使用してエンコードされたバイト配列に含まれています。 DER でエンコードされたバイト配列は、純粋なバイナリ シーケンスまたは Unicode エンコードの文字列で表されます。

構文

HRESULT CreatePFX(
  [in]  BSTR             strPassword,
  [in]  PFXExportOptions ExportOptions,
  [in]  EncodingType     Encoding,
  [out] BSTR             *pValue
);

パラメーター

[in] strPassword

PFX メッセージのパスワードを含む BSTR 変数。 パスワードが使用されていないことを示すには 、NULL を 指定できます。 パスワードの使用が完了したら、 SecureZeroMemory 関数を呼び出してメモリからクリアします。 パスワードの保護の詳細については、「パスワードの 処理」を参照してください。

[in] ExportOptions

証明書チェーンのエクスポート量を指定する PFXExportOptions 列挙値。 証明書のみ、ルートのない証明書チェーン、またはチェーン全体をエクスポートできます。

[in] Encoding

DER でエンコードされたメッセージに適用される Unicode エンコードの種類を指定する EncodingType 列挙値。 既定値は XCN_CRYPT_STRING_BASE64です。

[out] pValue

DER でエンコードされた PFX メッセージを含む BSTR 変数へのポインター。

戻り値

関数が成功した場合、関数は S_OKを返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。

リターン コード/値 Description
CERTSRV_E_PROPERTY_EMPTY
証明書が見つかりません。
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
証明書チェーンが見つかりません。
OLE_E_BLANK
登録オブジェクトが初期化されていません。

注釈

PFX 形式は PKCS #12 とも呼ばれます。 CreatePFX メソッド:

  • 既定のプロバイダーのメモリ内の証明書ストアを開きます。
  • インストールされている証明書をストアに追加するか、証明書チェーンにリンクを追加します。
  • 指定されたエクスポート オプションに応じて、証明書と秘密キーを PFX メッセージにエクスポートします。
  • DER を使用してエクスポートされたメッセージをエンコードします。

このメソッドを呼び出す前に、次のいずれかのメソッドを呼び出して IX509Enrollment オブジェクトを初期化する必要があります。

さらに、 Enroll メソッドから正常にを返す必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー certenroll.h
[DLL] CertEnroll.dll

こちらもご覧ください

IX509Enrollment