다음을 통해 공유


ICertServerPolicy::GetCertificateExtension 메서드(certif.h)

GetCertificateExtension 메서드는 특정 인증서 확장을 검색합니다.

구문

HRESULT GetCertificateExtension(
  [in]  const BSTR strExtensionName,
  [in]  LONG       Type,
  [out] VARIANT    *pvarValue
);

매개 변수

[in] strExtensionName

확장의 이름을 포함하는 문자열입니다.

[in] Type

확장의 유형을 지정합니다. 형식은 다음 값 중 하나일 수 있습니다.

의미
PROPTYPE_LONG
서명된 긴 데이터
PROPTYPE_DATE
날짜/시간
PROPTYPE_BINARY
확장 값은 있는 그대로 검색되고 필요한 경우 ASN.1로 인코딩됩니다.
PROPTYPE_STRING
확장 값은 IA5 문자열로 인코딩된 ASN.1입니다.

[out] pvarValue

요청된 확장 값을 받는 VARIANT 에 대한 포인터입니다.

반환 값

C++

메서드가 성공하면 메서드는 S_OK 반환하고 pvarValue 매개 변수에는 확장 값이 포함됩니다.

메서드가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 일반적인 오류 코드 목록은 일반 HRESULT 값을 참조하세요.

VB

반환 값은 요청된 확장 값입니다.

설명

이 메서드를 호출하기 전에 SetContext 메서드를 호출해야 합니다. SetContext 호출은 현재 컨텍스트로 사용되는 요청을 지정합니다.

인증서 확장은 인증서 속성과 다릅니다. 속성은 요청에 연결된 일반 데이터입니다. 이러한 속성 중 일부는 인증서(예: BeginDate)로 인코딩되는 반면, 다른 속성은 큐 및 로그의 요청을 표시하는 데만 사용됩니다. 사용하지 않도록 설정되지 않은 확장은 인증서로 인코딩됩니다. 확장은 항상 개체 식별자로 표시되며 항상 위험/중요하지 않은 플래그가 있습니다.

예제

VARIANT    varExt;
HRESULT    hr;

VariantInit(&varExt);
// Get the Extension value.
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->GetCertificateExtension(bstrExtName,
                                                PROPTYPE_BINARY,
                                                &varExt);

if (FAILED(hr))
{
    printf("Failed GetCertificateExtension [%x]\n", hr);
    goto error;
}
// Successful call; use the value in varExt as needed.
// ...

// When done, clear the Variant
VariantClear(&varExt);

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certif.h(Certsrv.h 포함)
라이브러리 Certidl.lib
DLL Certcli.dll

추가 정보

ICertServerPolicy

ICertServerPolicy::GetCertificateExtensionFlags

ICertServerPolicy::SetContext