次の方法で共有


IX509CertificateRequest::Encode メソッド (certenroll.h)

Encode メソッドは、証明書要求に署名してエンコードし、キー ペアが存在しない場合はキー ペアを作成します。 要求は、抽象構文表記法 1 (ASN.1) 標準で定義されている識別エンコード規則 (DER) を使用してエンコードされます。 エンコード プロセスによってバイト配列が作成されます。 RawData プロパティを呼び出すと、バイト配列を取得できます。

構文

HRESULT Encode();

戻り値

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

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 使用できる値には、次の表に示す値が含まれますが、これらに限定されません。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

戻りコード/値 Description
CERTSRV_E_ARCHIVED_KEY_REQUIRED
CMC 要求に ArchivePrivateKey プロパティが設定されていますが、キー交換証明書が見つかりませんでした。
OLE_E_BLANK
オブジェクトが初期化されていません。

注釈

PKCS #10 要求の場合、次のメソッドを使用します。

  • 秘密キーを更新するか、必要に応じてキーを作成します。
  • 秘密キーから公開キーを設定します。
  • 拡張機能を更新し、既定の拡張機能を追加し、抑制された OID コレクションと重要な拡張 OID コレクションを考慮します。
  • 属性を更新し、既定の属性を追加し、抑制された OID コレクションを考慮します。
  • 署名されていない更新された要求をアセンブルしてエンコードします。
  • 署名を作成してエンコードします。
  • 署名と署名されていない要求をエンコードします。

CMC 要求の場合、このメソッドは次のようになります。

  • すべての内部要求オブジェクトをエンコードします。
  • 外部要求オブジェクトの拡張機能を更新し、既定の拡張機能を追加し、抑制された OID コレクションと重要な拡張 OID コレクションを考慮します。
  • 既定の属性を追加し、抑制された OID コレクションを考慮して、外部要求オブジェクトの属性を更新します。
  • 名前と値のペア のコレクションを更新します。
  • エンコードされた内部要求と更新された外部要求で構成される CMC コンテンツをエンコードします。
  • 署名証明書ごとに署名を作成してエンコードします。
  • プライマリ署名を作成してエンコードします。
  • エンコードされた CMC コンテンツ (内部要求と更新された外部要求を含む) とエンコードされた署名をアセンブルします。
  • アセンブリされたコンテンツを PKCS #7 メッセージにエンコードします。

Requirements

Requirement 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
ターゲット プラットフォーム ウィンドウズ
Header certenroll.h
DLL CertEnroll.dll

こちらも参照ください

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation