InitializeFromPublicKey メソッドは、IX509PublicKey オブジェクトと、必要に応じてテンプレートを使用して、null 署名証明書要求を初期化します。
構文
HRESULT InitializeFromPublicKey(
[in] X509CertificateEnrollmentContext Context,
[in] IX509PublicKey *pPublicKey,
[in, optional] BSTR strTemplateName
);
パラメーター
[in] Context
要求された証明書が、エンド ユーザー、コンピューター、またはコンピューターの代わりに動作する管理者を対象としているかどうかを示す X509CertificateEnrollmentContext 列挙値。
[in] pPublicKey
公開キーを表す IX509PublicKey インターフェイスへのポインター。
[in, optional] strTemplateName
Active Directory またはドット付き 10 進オブジェクト識別子に表示されるテンプレートの共通名 (CN) を含む BSTR 変数。 これは省略可能なパラメーターです。
戻り値
関数が成功した場合、関数は S_OKを返します。
関数が失敗した場合は、エラーを示す HRESULT 値を返します。 使用できる値には、次の表に示す値が含まれますが、これらに限定されません。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
| 戻りコード/値 | Description |
|---|---|
|
証明書要求オブジェクトは既に初期化されています。 |
注釈
テンプレートを指定すると、 InitializeFromPublicKey メソッドは次のアクションを実行します。
- 省略可能なテンプレートで指定された拡張機能 (存在する場合) を IX509Extensions コレクションに 追加します。
- CriticalExtensions コレクションを作成し、既定のXCN_OID_KEY_USAGEとXCN_OID_BASIC_CONSTRAINTS2オブジェクト識別子を設定します。 テンプレートが指定され、これらの OID が重要ではないことを示す場合、それらはコレクションから削除されます。 テンプレートによってクリティカルとマークされた OID (存在する場合) が追加されます。
- テンプレートが対称アルゴリズムをサポートしている場合 は、SmimeCapabilities プロパティを設定します。
- テンプレートに個別の署名アルゴリズム OID が必要な場合 は、AlternateSignatureAlgorithm プロパティを設定します。
- IX509SignatureInformation オブジェクトを作成します。
- テンプレートでアルゴリズムが指定され、 IX509SignatureInformation オブジェクトに設定されている場合は、ハッシュ アルゴリズム OID を作成します。
- テンプレートでアルゴリズムが指定され、 IX509SignatureInformation オブジェクトに設定されている場合は、非対称暗号化アルゴリズム OID を作成します。
テンプレートを指定するかどうかにかかわらず、 CSPInformations プロパティが指定されていない場合、メソッドはコンピューターにインストールされているプロバイダーから ICspInformations コレクションを作成します。
このメソッドは秘密キーを作成しません。 このメソッドの使用は、要求が null 署名されていることを意味します。 したがって、このメソッドは IX509SignatureInformation オブジェクトの NullSigned プロパティを設定します。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows Vista [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
| ターゲット プラットフォーム の | ウィンドウズ |
| Header | certenroll.h |
| DLL | CertEnroll.dll |