Metode ICertAdmin2::P ublishCRLs (certadm.h)
Metode PublishCRLs menerbitkan daftar pencabutan sertifikat (CRL) untuk otoritas sertifikasi (CA). Metode ini pertama kali didefinisikan dalam antarmuka ICertAdmin .
Metode PublishCRLs menerbitkan CRL berdasarkan sertifikat CA saat ini, serta CRL berdasarkan sertifikat CA apa pun yang telah diperbarui dan belum kedaluwarsa.
Sintaks
HRESULT PublishCRLs(
[in] const BSTR strConfig,
[in] DATE Date,
[in] LONG CRLFlags
);
Parameter
[in] strConfig
Mewakili string konfigurasi yang valid untuk CA dalam bentuk COMPUTERNAME\CANAME, di mana COMPUTERNAME adalah nama jaringan server Certificate Services, dan CANAME adalah nama umum otoritas sertifikasi, seperti yang dimasukkan selama penyiapan Layanan Sertifikat. Untuk informasi tentang nama string konfigurasi, lihat ICertConfig.
[in] Date
Menentukan nilai pembaruan CRL berikutnya dalam waktu GMT. Jika Tanggal bukan nol, nilai pembaruan berikutnya untuk CRL adalah Tanggal, tunduk pada batas pembulatan atau langit-langit yang diberlakukan oleh Layanan Sertifikat. Jika Tanggal adalah nol, nilai pembaruan CRL berikutnya dihitung dari periode publikasi CRL default.
[in] CRLFlags
Nilai yang menentukan opsi penerbitan CRL. Nilai ini bisa menjadi kombinasi bitwise dari bendera berikut.
Nilai kembali
Tidak ada
Keterangan
Untuk menentukan apakah CA telah berhasil menerbitkan CRL dasar dan delta, panggil ICertAdmin2::GetCAProperty dengan pengidentifikasi properti CR_PROP_BASECRLPUBLISHSTATUS dan CR_PROP_DELTACRLPUBLISHSTATUS.
Contoh
Contoh berikut menunjukkan penerbitan CRL.
DATE ExpDate; // CRL expiration date.
SYSTEMTIME st;
BSTR bstrCA = NULL;
// Set the CRL expiration date to noon, July 1, 2001.
// Zero out values first (avoids setting minutes,
// seconds, and so on).
memset(&st, 0, sizeof(SYSTEMTIME));
st.wYear = 2001;
st.wMonth = 7; // July
st.wDay = 1; // first 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 = pCertAdmin2->PublishCRLs(bstrCA,
ExpDate,
CA_CRL_BASE);
if (FAILED(hr))
{
printf("Failed PublishCRLs [%x]\n", hr);
goto error;
}
else
printf("PublishCRLs succeeded\n");
// Done.
error:
// Free resources.
if (bstrCA)
SysFreeString(bstrCA);
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tidak ada yang didukung |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | certadm.h (termasuk Certsrv.h) |
Pustaka | Certidl.lib |
DLL | Certadm.dll |