ICertServerExit::GetCertificateExtension メソッド (certif.h)

GetCertificateExtension メソッドは、指定された証明書拡張機能を取得します。

証明書の拡張機能は、証明書のプロパティとは異なります。 プロパティは、要求オブジェクトにアタッチされた汎用データです。 これらのプロパティの一部は証明書にエンコードされますが (例: BeginDate)、キューとログの要求をマークするために使用されるプロパティもあります。 無効にされていない拡張機能は、証明書にエンコードされます。 拡張機能は常に オブジェクト識別子 でマークされ、常にクリティカル/クリティカルでないフラグを持ちます。

構文

HRESULT GetCertificateExtension(
  [in]  const BSTR strExtensionName,
  [in]  LONG       Type,
  [out] VARIANT    *pvarValue
);

パラメーター

[in] strExtensionName

拡張子の名前を含む文字列。

[in] Type

拡張機能の種類を指定します。 型には、次のいずれかの型を指定できます。

意味
PROPTYPE_LONG
署名された長いデータ
PROPTYPE_DATE
日付/時刻
PROPTYPE_BINARY
拡張値はそのまま取得され、必要に応じて ASN.1 でエンコードされます。
PROPTYPE_STRING
拡張値は、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

関連項目

ICertServerExit

ICertServerExit::GetCertificateExtensionFlags

ICertServerExit::SetContext