ICertAdmin::IsValidCertificate メソッド (certadm.h)
IsValidCertificate メソッドは、証明機関 (CA) キーに対して証明書を検証し、証明書が取り消されていないことを確認します。 このメソッドは、最初に ICertAdmin インターフェイスで定義されました。
構文
HRESULT IsValidCertificate(
[in] const BSTR strConfig,
[in] const BSTR strSerialNumber,
[out, retval] LONG *pDisposition
);
パラメーター
[in] strConfig
COMPUTERNAME\CANAME 形式の CA の有効な構成文字列を表します。COMPUTERNAME は証明書サービス サーバーのネットワーク名、CANAME は証明書サービスのセットアップ時に入力された証明機関の共通名です。 構成文字列名の詳細については、「 ICertConfig」を参照してください。
[in] strSerialNumber
確認する証明書を識別するシリアル番号を指定します。 文字列では、シリアル番号を偶数の 16 進数として指定する必要があります。 必要に応じて、数字の前に 0 を付けて、偶数桁を生成できます。 先頭に 0 を 1 つ以上使用することはできません。
[out, retval] pDisposition
処理値を受け取る LONG へのポインター。
戻り値
C++
メソッドが成功し、 pDisposition パラメーターが次のいずれかの値に設定されている場合、メソッドは S_OKを返します。メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
VB
戻り値は、証明書の処理を指定します。 この値は、次のいずれかの値です。 (これらの値は Certadm.h で定義されています)。リターン コード | 説明 |
---|---|
|
呼び出しが完了していません。 |
|
呼び出しに失敗しました。 |
|
証明書は失効しています。 |
|
証明書は引き続き有効です。 |
|
証明書は発行されませんでした。 |
|
証明書が保留中です。 |
注釈
このメソッドは、証明書が発行され、現在取り消されていないかどうかを判断します。現在の時刻と日付が、証明書が有効な期間内 (NotBefore および NotAfter 証明書のプロパティ) 内にあることをチェックしません。 このメソッドを使用するアプリケーションは、証明書の有効期限を確認する役割も担います。
管理タスクでは DCOM を使用します。 以前のバージョンの Certadm.h で定義されているこのインターフェイス メソッドを呼び出すコードは、クライアントとサーバーの両方が同じ Windows オペレーティング システムを実行している限り、Windows ベースのサーバー上で実行されます。
例
BSTR bstrCA = NULL; // Machine\CAName
BSTR bstrSerial = NULL; // Contains the certificate
// serial number
long nDisp; // Contains the certificate
// disposition
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
bstrSerial = SysAllocString(L"<SERIALNUMBERHERE>");
if (NULL == bstrCA || NULL == bstrSerial)
{
printf("Memory allocation failed\n");
goto error;
}
// Determine whether the certificate is valid.
// pCertAdmin is a previously instantiated ICertAdmin
// object pointer.
hr = pCertAdmin->IsValidCertificate(bstrCA, bstrSerial, &nDisp);
if (FAILED(hr))
{
printf("Failed IsValidCertificate [%x]\n", hr);
goto error;
}
// Use nDisp as needed.
// Done processing.
error:
// Free BSTR values.
if (NULL != bstrCA)
SysFreeString(bstrCA);
if (NULL != bstrSerial)
SysFreeString(bstrSerial);
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certadm.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certadm.dll |