ICertServerPolicy::GetCertificateExtension メソッド (certif.h)
GetCertificateExtension メソッドは、特定の証明書拡張機能を取得します。
構文
HRESULT GetCertificateExtension(
[in] const BSTR strExtensionName,
[in] LONG Type,
[out] VARIANT *pvarValue
);
パラメーター
[in] strExtensionName
拡張子の名前を含む文字列。
[in] Type
拡張機能の種類を指定します。 型には、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
署名された長いデータ |
|
日付/時刻 |
|
拡張値は そのまま取得され、必要に応じて ASN.1 でエンコードされます。 |
|
拡張値は、IA5 文字列としてエンコードされた ASN.1 です。 |
[out] pvarValue
要求された拡張値を受け取る VARIANT へのポインター。
戻り値
C++
メソッドが成功した場合、メソッドは S_OKを返し、 pvarValue パラメーターには拡張値が含まれます。メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
VB
戻り値は、要求された拡張値です。注釈
SetContext メソッドは、このメソッドを呼び出す前に呼び出す必要があります。 SetContext の呼び出しは、現在のコンテキストとして使用される要求を指定します。
証明書拡張機能は、証明書のプロパティとは異なります。 プロパティは、要求にアタッチされる汎用データです。 これらのプロパティの一部は証明書 ( BeginDate など) にエンコードされ、他のプロパティはキューとログの要求をマークするためにのみ使用されます。 無効にされていない拡張機能は、証明書にエンコードされます。 拡張機能は常に オブジェクト識別子でマークされ、常にクリティカル/クリティカルでないフラグを持ちます。
例
VARIANT varExt;
HRESULT hr;
VariantInit(&varExt);
// Get the Extension value.
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->GetCertificateExtension(bstrExtName,
PROPTYPE_BINARY,
&varExt);
if (FAILED(hr))
{
printf("Failed GetCertificateExtension [%x]\n", hr);
goto error;
}
// Successful call; use the value in varExt as needed.
// ...
// When done, clear the Variant
VariantClear(&varExt);
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certif.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certcli.dll |