Win32 API 日本語リファレンス
ホームSecurity.Cryptography.Certificates › ICertPropertyEnrollmentPolicyServer

ICertPropertyEnrollmentPolicyServer

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID728ab34a-217d-11da-b2a4-000e7bbb2b09継承元ICertProperty呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl14

公式ドキュメント

証明書登録ポリシー (CEP) サーバーと証明書登録サーバー (CES) に関する情報を格納する外部の証明書プロパティを表します。

メソッド 9

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 14 HRESULT Initialize(EnrollmentPolicyServerPropertyFlags PropertyFlags, X509EnrollmentAuthFlags AuthFlags, X509EnrollmentAuthFlags EnrollmentServerAuthFlags, PolicyServerUrlFlags UrlFlags, LPWSTR strRequestId, LPWSTR strUrl, LPWSTR strId, LPWSTR strEnrollmentServerUrl)

ICertPropertyEnrollmentPolicyServer オブジェクトを初期化します。

PropertyFlagsEnrollmentPolicyServerPropertyFlagsin

既定の証明書登録ポリシー (CEP) サーバーを指定する EnrollmentPolicyServerPropertyFlags 列挙値です。次のいずれかの値を指定できます。

意味
DefaultNone
既定のポリシーサーバー URL が指定されていません。
DefaultPolicyServer
GetPolicyServerUrl が返すポリシーサーバー URL は、URL が指定されていない場合の既定値です。
AuthFlagsX509EnrollmentAuthFlagsin

クライアントが CEP サーバーに対して自身を認証する際に使用する認証の種類を指定する X509EnrollmentAuthFlags 列挙値です。次のいずれかの値を指定できます。

意味
X509AuthAnonymous
匿名認証。
X509AuthKerberos
Kerberos 認証。
X509AuthUsername
クリアテキストのユーザー名とパスワードによる認証。
Note ユーザー名とパスワードは送信前に暗号化され、サーバー上の資格情報コンテナー (credential vault) に安全に保存されます。
X509AuthCertificate
ローカルコンピューターにインストールされ、クライアントの ID をサーバーが検証するために使用されるクライアント認証証明書。
EnrollmentServerAuthFlagsX509EnrollmentAuthFlagsinクライアントが CES に対して自身を認証する際に使用する認証の種類を指定する X509EnrollmentAuthFlags 列挙値です。列挙型に指定できる値については、AuthFlags パラメーターを参照してください。Windows 7 では、X509AuthCertificate のみを指定できます。
UrlFlagsPolicyServerUrlFlagsin

ポリシーサーバーのフラグを指定する PolicyServerUrlFlags 列挙値です。次の値のビットごとの OR を指定できます。

意味
PsfNone
フラグを指定しません。
PsfLocationGroupPolicy
ポリシーサーバー URL は、管理者によってグループポリシーで指定されます。
PsfLocationRegistry
ポリシーサーバー URL はレジストリで指定されます。
PsfUseClientId
証明書の登録および更新で、クライアント固有のデータを ClientId 属性に含めることを指定します。例としては、暗号化サービスプロバイダーの名前、Windows のバージョン番号、ユーザー名、コンピューターの DNS 名、ドメインコントローラーの DNS 名などがあります。

このフラグは、ユーザーが属するフォレストを管理する管理者以外の管理者が管理するサーバーへ登録する際に生じ得るプライバシー上の懸念に対処するために用意されています。このフラグを設定しないことで、ローカル以外の管理者に個人情報が送信されるのを防ぐことができます。

PsfAutoEnrollmentEnabled
自動証明書登録が有効です。
PsfAllowUnTrustedCA
その CA によって署名された証明書をインストールするために、発行元 CA の証明書がクライアントによって信頼されている必要がないことを指定します。
strRequestIdLPWSTRin登録時に証明機関 (CA) へ送信される証明書要求の一意の文字列識別子を格納する BSTR 変数です。この文字列には、要求を一意に識別する任意の情報を含めることができます。
strUrlLPWSTRin証明書登録ポリシー (CEP) サーバーの URL を格納する BSTR 変数です。
strIdLPWSTRinCEP サーバーの ID を格納する BSTR 変数です。
strEnrollmentServerUrlLPWSTRin証明書登録サーバーの URL を格納する BSTR 変数です。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード 説明
E_OUTOFMEMORY
文字列値に使用できるメモリが不足していました。
vtbl 15 HRESULT GetPolicyServerUrl(LPWSTR* pValue)

証明書登録ポリシー (CEP) サーバーの URL を格納する文字列を取得します。

pValueLPWSTR*outURL を受け取る BSTR へのポインター。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード/値 説明
CERTSRV_E_PROPERTY_EMPTY
プロパティ値が空です。
E_OUTOFMEMORY
URL 文字列を作成するのに使用できるメモリが不足していました。
HRESULT_FROM_WIN32(OLE_E_BLANK)
プロパティ値が初期化されていません。
vtbl 16 HRESULT GetPolicyServerId(LPWSTR* pValue)

証明書登録ポリシー (CEP) サーバーを一意に識別する文字列を取得します。

pValueLPWSTR*outID 文字列を受け取る BSTR へのポインター。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード/値 説明
CERTSRV_E_PROPERTY_EMPTY
プロパティ値が空です。
E_OUTOFMEMORY
URL 文字列を作成するのに使用できるメモリが不足していました。
HRESULT_FROM_WIN32(OLE_E_BLANK)
プロパティ値が初期化されていません。

解説(Remarks)

ID には任意の文字列を指定できます。これは CEP サーバーをインストールする管理者が設定します。

vtbl 17 HRESULT GetEnrollmentServerUrl(LPWSTR* pValue)

証明書登録サーバーの URL を格納する文字列を取得します。

pValueLPWSTR*outURL を受け取る BSTR へのポインター。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード/値 説明
CERTSRV_E_PROPERTY_EMPTY
プロパティ値が空です。
E_OUTOFMEMORY
URL 文字列を作成するのに使用できるメモリが不足していました。
HRESULT_FROM_WIN32(OLE_E_BLANK)
プロパティ値が初期化されていません。
vtbl 18 HRESULT GetRequestIdString(LPWSTR* pValue)

登録時に証明機関 (CA) へ送信された証明書要求の一意の文字列識別子を取得します。

pValueLPWSTR*outID 文字列を受け取る BSTR へのポインター。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード/値 説明
CERTSRV_E_PROPERTY_EMPTY
プロパティ値が空です。
E_OUTOFMEMORY
URL 文字列を作成するのに使用できるメモリが不足していました。
HRESULT_FROM_WIN32(OLE_E_BLANK)
プロパティ値が初期化されていません。

解説(Remarks)

この文字列には、証明書要求を一意に識別する任意の情報を含めることができます。この値は Initialize メソッドを呼び出したときに設定されます。

vtbl 19 HRESULT GetPropertyFlags(EnrollmentPolicyServerPropertyFlags* pValue)

既定のポリシーサーバー URL を指定する値を取得します。

pValueEnrollmentPolicyServerPropertyFlags*out

フラグを格納する EnrollmentPolicyServerPropertyFlags 列挙値へのポインター。次のいずれかの値を指定できます。

意味
DefaultNone
既定のポリシーサーバー URL が指定されていません。
DefaultPolicyServer
GetPolicyServerUrl が返すポリシーサーバー URL は、URL が指定されていない場合の既定値です。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード/値 説明
E_POINTER
pValue パラメーターに NULL を指定することはできません。
vtbl 20 HRESULT GetUrlFlags(PolicyServerUrlFlags* pValue)

証明書登録ポリシー (CEP) サーバーに関するさまざまなポリシー情報を含むフラグのセットを取得します。

pValuePolicyServerUrlFlags*out

ポリシーサーバーのフラグを指定する PolicyServerUrlFlags 列挙値へのポインター。次の値のビットごとの OR を指定できます。

意味
PsfNone
フラグを指定しません。
PsfLocationGroupPolicy
ポリシーサーバー URL は、管理者によってグループポリシーで指定されます。
PsfLocationRegistry
ポリシーサーバー URL はレジストリで指定されます。
PsfUseClientId
証明書の登録および更新で、クライアント固有のデータを含めることを指定します。例としては、暗号化サービスプロバイダーの名前、Windows のバージョン番号、ユーザー名、コンピューターの DNS 名、ドメインコントローラーの DNS 名などがあります。このフラグは、グループポリシーで定義され、かつ既定のポリシー ID である場合に設定されます。
PsfAutoEnrollmentEnabled
自動証明書登録が有効です。
PsfAllowUnTrustedCA
その CA によって署名された証明書をインストールするために、発行元 CA の証明書がクライアントによって信頼されている必要がないことを指定します。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード/値 説明
E_POINTER
pValue パラメーターに NULL を指定することはできません。
vtbl 21 HRESULT GetAuthentication(X509EnrollmentAuthFlags* pValue)

GetAuthentication メソッドは、証明書登録ポリシー (CEP) サーバーがクライアントを認証する際に使用する認証の種類を指定する値を取得します。この値は Initialize メソッドによって設定されます。

pValueX509EnrollmentAuthFlags*out

クライアントの認証の種類を指定する X509EnrollmentAuthFlags 列挙値です。次のいずれかの値を指定できます。

意味
X509AuthAnonymous
匿名認証。
X509AuthKerberos
Kerberos 認証。
X509AuthUsername
クリアテキストのユーザー名とパスワードによる認証。
Note ユーザー名とパスワードは送信前に暗号化され、CEP サーバー上の資格情報コンテナー (credential vault) に安全に保存されます。
X509AuthCertificate
ローカルコンピューターにインストールされ、クライアントの ID をサーバーが検証するために使用されるクライアント認証証明書。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード/値 説明
E_POINTER
pValue パラメーターに NULL を指定することはできません。
vtbl 22 HRESULT GetEnrollmentServerAuthentication(X509EnrollmentAuthFlags* pValue)

GetEnrollmentServerAuthentication メソッドは、証明書登録サーバー (CES) がクライアントを認証する際に使用する認証の種類を指定する値を取得します。この値は Initialize メソッドによって設定されます。

pValueX509EnrollmentAuthFlags*out

クライアントの認証の種類を指定する X509EnrollmentAuthFlags 列挙値です。次のいずれかの値を指定できます。

意味
X509AuthAnonymous
匿名認証。
X509AuthKerberos
Kerberos 認証。
X509AuthUsername
クリアテキストのユーザー名とパスワードによる認証。
Note ユーザー名とパスワードは送信前に暗号化され、証明書登録サーバー上の資格情報コンテナー (credential vault) に安全に保存されます。
X509AuthCertificate
ローカルコンピューターにインストールされ、クライアントの ID をサーバーが検証するために使用されるクライアント認証証明書。

戻り値

関数が成功すると、S_OK を返します。

関数が失敗すると、エラーを示す HRESULT 値を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。一般的なエラーコードの一覧については、Common HRESULT Values を参照してください。

リターンコード/値 説明
E_POINTER
pValue パラメーターに NULL を指定することはできません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ICertPropertyEnrollmentPolicyServer "{728AB34A-217D-11DA-B2A4-000E7BBB2B09}"
#usecom global ICertPropertyEnrollmentPolicyServer IID_ICertPropertyEnrollmentPolicyServer "{}"
#comfunc global ICertPropertyEnrollmentPolicyServer_Initialize                         14 int,int,int,int,wstr,wstr,wstr,wstr
#comfunc global ICertPropertyEnrollmentPolicyServer_GetPolicyServerUrl                 15 var
#comfunc global ICertPropertyEnrollmentPolicyServer_GetPolicyServerId                  16 var
#comfunc global ICertPropertyEnrollmentPolicyServer_GetEnrollmentServerUrl             17 var
#comfunc global ICertPropertyEnrollmentPolicyServer_GetRequestIdString                 18 var
#comfunc global ICertPropertyEnrollmentPolicyServer_GetPropertyFlags                   19 var
#comfunc global ICertPropertyEnrollmentPolicyServer_GetUrlFlags                        20 var
#comfunc global ICertPropertyEnrollmentPolicyServer_GetAuthentication                  21 var
#comfunc global ICertPropertyEnrollmentPolicyServer_GetEnrollmentServerAuthentication  22 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。