Share via


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

GetCertificateExtension 메서드는 지정된 인증서 확장을 가져옵니다.

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

구문

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 는 확장 값을 포함하는 VARIANT 로 설정됩니다.

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

VB

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

설명

이 메서드를 사용하기 전에 ICertServerExit::SetContext 를 호출해야 합니다.

예제

VARIANT  varExt;
HRESULT  hr;

VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->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

추가 정보

ICertServerExit

ICertServerExit::GetCertificateExtensionFlags

ICertServerExit::SetContext