다음을 통해 공유


ICertAdmin::P ublishCRL 메서드(certadm.h)

PublishCRL 메서드는 새 CRL(인증서 해지 목록)을 게시하기 위해 CA(Certificate Services 인증 기관)에 요청을 보냅니다. 이 메서드는 ICertAdmin 인터페이스에서 처음 도입되었습니다.

구문

HRESULT PublishCRL(
  [in] const BSTR strConfig,
  [in] DATE       Date
);

매개 변수

[in] strConfig

COMPUTERNAME\CANAME 형식의 CA에 대한 유효한 구성 문자열을 나타냅니다. 여기서 COMPUTERNAME은 인증서 서비스 서버의 네트워크 이름이고 CANAME는 인증서 서비스 설정 중에 입력한 인증 기관의 일반 이름입니다. 구성 문자열 이름에 대한 자세한 내용은 ICertConfig를 참조하세요.

중요PublishCRL 은 구성 문자열이 변경되면 내부 캐시를 지우지 않습니다. CA에 대한 구성 문자열을 변경하는 경우 새 ICertAdmin 개체를 인스턴스화하고 새 구성 문자열을 사용하여 이 메서드를 다시 호출해야 합니다.

 

[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 포함)
라이브러리 Certidl.lib
DLL Certadm.dll

추가 정보

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig