IX509CertificateRequestPkcs10V2::InitializeFromPublicKeyTemplate メソッド (certenroll.h)

InitializeFromPublicKeyTemplate メソッドは、IX509PublicKey オブジェクトとテンプレートを使用して、null 署名証明書要求を初期化します。

構文

HRESULT InitializeFromPublicKeyTemplate(
  [in] X509CertificateEnrollmentContext Context,
  [in] IX509PublicKey                   *pPublicKey,
  [in] IX509EnrollmentPolicyServer      *pPolicyServer,
  [in] IX509CertificateTemplate         *pTemplate
);

パラメーター

[in] Context

要求された証明書が、エンド ユーザー、コンピューター、またはコンピューターの代わりに動作する管理者を対象としているかどうかを指定する X509CertificateEnrollmentContext 列挙値。 次のいずれかの値を指定できます。

意味
ContextUser
エンド ユーザーに対して証明書が要求されています。
ContextMachine
コンピューターに対して証明書が要求されています。
ContextAdministratorForceMachine
証明書は、コンピューターの代わりに機能する管理者によって要求されています。

[in] pPublicKey

公開キーを表す IX509PublicKey インターフェイスへのポインター。

[in] pPolicyServer

pTemplate パラメーターで指定されたテンプレートを含む証明書登録ポリシー (CEP) サーバーを表す IX509EnrollmentPolicyServer オブジェクトへのポインター。

[in] pTemplate

初期化時に使用するテンプレートを表す IX509CertificateTemplate オブジェクトへのポインター。

戻り値

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

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

リターン コード/値 Description
E_POINTER
pPublicKeypPolicyServer、または pTemplate パラメーターは NULL です
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
証明書要求オブジェクトは既に初期化されています。

注釈

InitializeFromPublicKeyTemplate メソッドは、次のアクションを実行します。

  • テンプレートで指定された拡張機能 (存在する場合) を IX509Extensions コレクションに 追加します。
  • CriticalExtensions コレクションを作成し、既定のXCN_OID_KEY_USAGEとXCN_OID_BASIC_CONSTRAINTS2オブジェクト識別子を設定します。 テンプレートがこれらの OID が重要ではないことを示す場合は、コレクションから削除されます。 テンプレートによってクリティカルとマークされた OID (存在する場合) が追加されます。
  • テンプレートが対称アルゴリズムをサポートしている場合 は、SmimeCapabilities プロパティを設定します。
  • テンプレートに個別の署名アルゴリズム OID が必要な場合 は、AlternateSignatureAlgorithm プロパティを設定します。
  • IX509SignatureInformation オブジェクトを作成します。
  • テンプレートでアルゴリズムが指定されている場合は、ハッシュ アルゴリズム OID を作成し、 IX509SignatureInformation オブジェクトに設定します。
  • テンプレートでアルゴリズムが指定され、 IX509SignatureInformation オブジェクトに設定されている場合は、非対称暗号化アルゴリズム OID を作成します。

CSPInformations プロパティが指定されていない場合、 メソッドは、コンピューターにインストールされているプロバイダーから ICspInformations コレクションを作成します。

メソッドは秘密キーを作成しません。 このメソッドの使用は、要求が null 署名されていることを意味します。 したがって、 メソッドは IX509SignatureInformation オブジェクトの NullSigned プロパティを設定します。

要件

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

こちらもご覧ください

IX509CertificateRequestPkcs10V2