IX509CertificateRequest::Encode メソッド (certenroll.h)
Encode メソッドは、証明書要求に署名してエンコードし、存在しない場合はキー ペアを作成します。 要求は、抽象構文表記 1 (ASN.1) 標準で定義されているDistinguished Encoding Rules (DER) を使用してエンコードされます。 エンコード プロセスでは、バイト配列が作成されます。 RawData プロパティを呼び出すと、バイト配列を取得できます。
構文
HRESULT Encode();
戻り値
関数が成功した場合、関数は S_OKを返します。
関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
リターン コード/値 | Description |
---|---|
|
ARCHIVEPrivateKey プロパティは CMC 要求に対して設定されていますが、キー交換証明書が見つかりませんでした。 |
|
オブジェクトが初期化されていません。 |
注釈
PKCS #10 要求の場合は、次のメソッドを使用します。
- 秘密キーを更新するか、必要に応じてキーを作成します。
- 秘密キーから公開キーを設定します。
- 拡張機能を更新し、既定の拡張機能を追加し、抑制された OID コレクションと重要な拡張機能 OID コレクションを考慮します。
- 属性を更新し、既定の属性を追加し、抑制された OID コレクションを考慮します。
- 署名されていない更新された要求をアセンブルしてエンコードします。
- 署名を作成してエンコードします。
- 署名と署名されていない要求をエンコードします。
CMC 要求の場合は、次のメソッドを使用します。
- すべての内部要求オブジェクトをエンコードします。
- 外部要求オブジェクトの拡張機能を更新し、既定の拡張機能を追加し、抑制された OID コレクションと重要な拡張 OID コレクションを考慮します。
- 外部要求オブジェクトの属性を更新し、既定の属性を追加し、抑制された OID コレクションを考慮します。
- 名前と値のペア コレクションを更新します。
- エンコードされた内部要求と更新された外部要求で構成される CMC コンテンツをエンコードします。
- 署名証明書ごとに署名を作成してエンコードします。
- プライマリ署名を作成してエンコードします。
- エンコードされた CMC コンテンツ (内部要求と更新された外部要求を含む) とエンコードされた署名をアセンブルします。
- アセンブルされたコンテンツを PKCS #7 メッセージにエンコードします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certenroll.h |
[DLL] | CertEnroll.dll |