ICertAdmin2::P ublishCRLs 메서드(certadm.h)
PublishCRLs 메서드는 CA(인증 기관)에 대한 CRL(인증서 해지 목록)을 게시합니다. 이 메서드는 ICertAdmin 인터페이스에서 처음 정의되었습니다.
PublishCRLs 메서드는 갱신되어 아직 만료되지 않은 CA 인증서를 기반으로 하는 CRL뿐만 아니라 CA의 현재 인증서를 기반으로 CRL을 게시합니다.
구문
HRESULT PublishCRLs(
[in] const BSTR strConfig,
[in] DATE Date,
[in] LONG CRLFlags
);
매개 변수
[in] strConfig
COMPUTERNAME\CANAME 형식의 CA에 대한 유효한 구성 문자열을 나타냅니다. 여기서 COMPUTERNAME은 인증서 서비스 서버의 네트워크 이름이고 CANAME는 인증서 서비스 설정 중에 입력한 인증 기관의 일반 이름입니다. 구성 문자열 이름에 대한 자세한 내용은 ICertConfig를 참조하세요.
[in] Date
GMT 시간에서 CRL의 다음 업데이트 값을 지정합니다. Date가 0이 아닌 경우 CRL의 다음 업데이트 값은 Date이며, 인증서 서비스에서 적용되는 반올림 또는 최대 제한에 따라 다릅니다. Date가 0이면 CRL의 다음 업데이트 값이 기본 CRL 게시 기간에서 계산됩니다.
[in] CRLFlags
CRL 게시 옵션을 지정하는 값입니다. 이 값은 다음 플래그의 비트 조합일 수 있습니다.
반환 값
없음
설명
CA가 기본 및 델타 CRL을 성공적으로 게시했는지 여부를 확인하려면 각각 CR_PROP_BASECRLPUBLISHSTATUS 및 CR_PROP_DELTACRLPUBLISHSTATUS 속성 식별자를 사용하여 ICertAdmin2::GetCAProperty 를 호출합니다.
예제
다음 예제에서는 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);
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certadm.h(Certsrv.h 포함) |
라이브러리 | Certidl.lib |
DLL | Certadm.dll |