다음을 통해 공유


ICertAdmin::SetCertificateExtension 메서드(certadm.h)

SetCertificateExtension 메서드는 인증서 요청에 대한 응답으로 발급된 인증서에 새 확장을 추가합니다. 이 메서드는 ICertAdmin 인터페이스에 의해 처음 정의되었습니다.

이 메서드가 성공하려면 인증서 요청이 보류 중이어야 합니다.

구문

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

매개 변수

[in] strConfig

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

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

[in] RequestId

인증서 요청의 ID를 지정합니다.

[in] strExtensionName

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

[in] Type

설정되는 확장 유형을 지정합니다. Type 매개 변수는 pvarValue 매개 변수의 데이터 형식에 동의해야 합니다. 이 데이터 형식은 VARIANT 구조의 vt 필드에 설정됩니다.

이 매개 변수는 다음 값 중 하나일 수 있습니다.

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

[in] Flags

설정되는 확장의 플래그를 지정합니다. 설정할 플래그가 없으면 값 0을 사용합니다. 이러한 플래그를 비트 OR 연산과 정책 프라이빗 확장 플래그(EXTENSION_POLICY_MASK 필드의 상위 8비트)와 결합할 수 있습니다.

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

[in] pvarValue

확장과 연결된 값을 지정합니다.

반환 값

VB

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

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

설명

관리 작업은 DCOM을 사용합니다. 이전 버전의 Certadm.h에 정의된 대로 이 인터페이스 메서드를 호출하는 코드는 클라이언트와 서버가 모두 동일한 Windows 운영 체제를 실행하는 한 Windows 기반 서버에서 실행됩니다.

요구 사항

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

추가 정보

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig