ICertServerExit::GetCertificateExtension メソッド (certif.h)
GetCertificateExtension メソッドは、指定された証明書拡張機能を取得します。
証明書の拡張機能は、証明書のプロパティとは異なります。 プロパティは、要求オブジェクトにアタッチされた汎用データです。 これらのプロパティの一部は証明書にエンコードされますが (例: BeginDate)、キューとログの要求をマークするために使用されるプロパティもあります。 無効にされていない拡張機能は、証明書にエンコードされます。 拡張機能は常に オブジェクト識別子 でマークされ、常にクリティカル/クリティカルでないフラグを持ちます。
構文
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 は拡張値を含む VARIANT に設定されます。メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
VB
戻り値は、要求された拡張値です。解説
このメソッドを使用する前に 、ICertServerExit::SetContext を呼び出す必要があります。
例
VARIANT varExt;
HRESULT hr;
VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->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 |