ICertAdmin::P ublishCRL メソッド (certadm.h)
PublishCRL メソッドは、証明書サービス証明機関 (CA) に要求を送信して、新しい証明書失効リスト (CRL) を発行します。 このメソッドは、 ICertAdmin インターフェイスで最初に導入されました。
構文
HRESULT PublishCRL(
[in] const BSTR strConfig,
[in] DATE Date
);
パラメーター
[in] strConfig
COMPUTERNAME\CANAME 形式の CA の有効な構成文字列を表します。COMPUTERNAME は証明書サービス サーバーのネットワーク名、CANAME は証明書サービスのセットアップ時に入力された証明機関の共通名です。 構成文字列名の詳細については、「 ICertConfig」を参照してください。
[in] Date
協定世界時 (グリニッジ標準時) の CRL の次の更新値を指定します。 Date が 0 以外の場合、CRL の次の更新値は Date であり、証明書サービスによって適用される丸めまたは上限の制限が適用されます。 Date が 0 の場合、CRL の次の更新値は、既定の CRL 発行期間から計算されます。
戻り値
VB
メソッドが成功した場合、メソッドは S_OKを返します。メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
注釈
管理タスクでは DCOM が使用されます。 以前のバージョンの Certadm.h で定義されているこのインターフェイス メソッドを呼び出すコードは、クライアントとサーバーの両方が同じ Windows オペレーティング システムを実行している限り、Windows ベースのサーバーで実行されます。
例
次の例は、CRL の発行を示しています。
DATE ExpDate; // CRL expiration date
SYSTEMTIME st;
BSTR bstrCA = NULL;
// Set the CRL Expiration Date to Noon on Jan. 1, 2005 GMT.
// Zero out values first
// (avoids setting minutes, seconds, and so on).
memset(&st, 0, sizeof(SYSTEMTIME));
st.wYear = 2005;
st.wMonth = 1; // Jan
st.wDay = 1; // 1st day of month
st.wHour = 12; // Noon
// Place the date in required format.
if (!SystemTimeToVariantTime(&st, &ExpDate))
{
printf("Unable to convert time\n");
goto error;
}
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Memory allocation failed\n");
goto error;
}
// Publish the CRL.
// pCertAdmin is a previously instantiated ICertAdmin object.
hr = pCertAdmin->PublishCRL(bstrCA, ExpDate);
if (FAILED(hr))
{
printf("Failed PublishCRL [%x]\n", hr);
goto error;
}
else
printf("PublishCRL succeeded\n");
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certadm.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certadm.dll |