ICertAdmin::SetCertificateExtension メソッド (certadm.h)

SetCertificateExtension メソッドは、証明書要求に応答して発行された証明書に新しい拡張機能を追加します。 このメソッドは、最初に ICertAdmin インターフェイスによって定義されました。

このメソッドを成功させるには、証明書要求が保留中である必要があります。

構文

HRESULT SetCertificateExtension(
  [in] const BSTR    strConfig,
  [in] LONG          RequestId,
  [in] const BSTR    strExtensionName,
  [in] LONG          Type,
  [in] LONG          Flags,
  [in] const VARIANT *pvarValue
);

パラメーター

[in] strConfig

COMPUTERNAME\CANAME という形式の 証明機関 (CA) サーバーの有効な構成文字列を表します。COMPUTERNAME は証明書サービス サーバーのネットワーク名、CANAME は証明書サービスのセットアップ時に入力された証明機関の共通名です。 構成文字列名の詳細については、「 ICertConfig」を参照してください。

重要SetCertificateExtension は、構成文字列が変更されたときに内部キャッシュをクリアしません。 CA の構成文字列を変更する場合は、新しい ICertAdmin オブジェクトをインスタンス化し、このメソッドを新しい構成文字列で再度呼び出す必要があります。
 

[in] RequestId

証明書要求の ID を指定します。

[in] strExtensionName

設定する拡張機能の オブジェクト識別子 (OID) を指定します。 文字列の長さは、NULL 以外の 31 文字以下にする必要があります。

[in] Type

設定する拡張機能の種類を指定します。 Type パラメーターは、pvarValue パラメーターのデータ型と一致する必要があります。 このデータ型は、VARIANT 構造体の vt フィールドに設定されます。

このパラメーターには、次の値のいずれかを指定できます。

意味
PROPTYPE_LONG
署名された長いデータ
PROPTYPE_DATE
日付/時刻
PROPTYPE_BINARY
拡張値は そのまま設定され、必要に応じて ASN.1 エンコードと見なされます。
PROPTYPE_STRING
拡張値は、新しい証明書に配置される前に、IA5 文字列としてエンコードされた ASN.1 になります。
メモURL を IA5 文字列として自動的にエンコードする場合にのみ、1 つの URL で構成される拡張値には PROPTYPE_STRING を使用する必要があります。 それ以外の場合は、URL を自分で IA5 文字列としてエンコードし、エンコードされた値 をPROPTYPE_BINARYとして渡します。
 

[in] Flags

設定する拡張機能のフラグを指定します。 フラグを設定しない場合は、0 の値を使用します。 これらのフラグは、ビットごとの OR 操作と、ポリシープライベート拡張フラグ (EXTENSION_POLICY_MASK フィールドの上位 8 ビット) と組み合わせることができます。

メモFlags パラメーターが EXTENSION_DISABLE_FLAG に設定されている場合、拡張機能はサーバー ログで無効になり、証明書には追加されません。
 
意味
EXTENSION_CRITICAL_FLAG
これは重要な拡張機能です。
EXTENSION_DISABLE_FLAG
拡張機能は使用されません。

[in] pvarValue

拡張機能に関連付けられている値を指定します。

戻り値

VB

メソッドが成功した場合、メソッドは S_OKを返します。

メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

解説

管理タスクでは DCOM を使用します。 以前のバージョンの Certadm.h で定義されているこのインターフェイス メソッドを呼び出すコードは、クライアントとサーバーの両方が同じ Windows オペレーティング システムを実行している限り、Windows ベースのサーバー上で実行されます。

要件

   
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー certadm.h (Certsrv.h を含む)
Library Certidl.lib
[DLL] Certadm.dll

関連項目

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig