Share via


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

SetCertificateExtension 메서드는 인증서에 새 확장을 추가합니다.

구문

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

매개 변수

[in] strExtensionName

설정할 확장의 OID( 개체 식별자 )를 지정합니다. 문자열의 길이는 31자 이하여야 합니다.

[in] Type

설정되는 확장 유형을 지정합니다. Type 매개 변수는 VARIANT 구조의 vt 필드에 설정된 pvarValue의 데이터 형식에 동의해야 합니다. Type 매개 변수는 다음 형식 중 하나로 설정할 수 있습니다.

의미
PROPTYPE_LONG
서명된 긴 데이터입니다.
PROPTYPE_DATE
날짜/시간입니다.
PROPTYPE_BINARY
확장 값은 있는 그대로 설정되며 필요한 경우 ASN.1로 인코딩된 것으로 간주됩니다.
PROPTYPE_STRING
확장 값은 새 인증서에 배치되기 전에 ASN.1이 IA5 문자열로 인코딩됩니다.
참고URL 을 IA5 문자열로 자동으로 인코딩하려는 경우에만 단일 URL로 구성된 확장 값에 PROPTYPE_STRING 사용해야 합니다. 그렇지 않으면 URL을 IA5 문자열로 직접 인코딩하고 인코딩된 값을 PROPTYPE_BINARY 전달합니다.
 

[in] ExtFlags

설정되는 확장의 플래그를 지정합니다. 플래그를 설정하지 않을 경우 0 값을 사용하거나 다음 플래그 값 중 하나를 사용합니다. OR 연산자를 사용하여 이러한 플래그를 함께 조인할 수 있으며 정책 프라이빗 확장 플래그(EXTENSION_POLICY_MASK 필드의 상위 8비트)와 함께 OR 연산자를 사용하여 조인할 수도 있습니다.

참고ExtFlags 가 EXTENSION_DISABLE_FLAG 설정되면 서버 로그에서 확장이 비활성화되고 인증서에 추가되지 않습니다.
 
의미
EXTENSION_CRITICAL_FLAG
이는 중요한 확장입니다.
EXTENSION_DISABLE_FLAG
확장은 사용되지 않습니다.

[in] pvarValue

확장과 연결된 값을 지정합니다. 값의 VARIANT 형식은 다음 표와 같이 Type 매개 변수에 동의해야 합니다.

의미
PROPTYPE_LONG
VT_I4
PROPTYPE_DATE
VT_DATE
PROPTYPE_BINARY
VT_BSTR
PROPTYPE_STRING
VT_BSTR

반환 값

VB

메서드가 성공하면 메서드는 S_OK 반환합니다.

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

설명

확장을 사용하여 추가 주체 또는 사용량 정보와 같은 추가 정보를 인증서에 포함할 수 있습니다. 자세한 내용은 확장 처리기를 참조하세요.

ICertPolicy2::VerifyRequest 메서드 구현에서 SetCertificateExtension 메서드를 호출합니다. SetCertificateExtension 메서드를 호출하기 전에 ICertServerPolicy::SetContext 메서드를 호출해야 합니다.

요구 사항

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

추가 정보

ICertServerPolicy

ICertServerPolicy::SetContext