Share via


IX509CertificateRequestPkcs10V2::InitializeFromPublicKeyTemplate 메서드(certenroll.h)

InitializeFromPublicKeyTemplate 메서드는 IX509PublicKey 개체 및 템플릿을 사용하여 null 서명된 인증서 요청을 초기화합니다.

구문

HRESULT InitializeFromPublicKeyTemplate(
  [in] X509CertificateEnrollmentContext Context,
  [in] IX509PublicKey                   *pPublicKey,
  [in] IX509EnrollmentPolicyServer      *pPolicyServer,
  [in] IX509CertificateTemplate         *pTemplate
);

매개 변수

[in] Context

요청된 인증서가 최종 사용자, 컴퓨터 또는 컴퓨터를 대신하여 작동하는 관리자용인지 여부를 지정하는 X509CertificateEnrollmentContext 열거형 값입니다. 다음 값 중 하나일 수 있습니다.

의미
ContextUser
최종 사용자에 대해 인증서가 요청되고 있습니다.
ContextMachine
컴퓨터에 대해 인증서가 요청되고 있습니다.
ContextAdministratorForceMachine
컴퓨터 대신 작동하는 관리자가 인증서를 요청합니다.

[in] pPublicKey

공개 키를 나타내는 IX509PublicKey 인터페이스에 대한 포인터입니다.

[in] pPolicyServer

pTemplate 매개 변수로 지정된 템플릿을 포함하는 CEP(인증서 등록 정책) 서버를 나타내는 IX509EnrollmentPolicyServer 개체에 대한 포인터입니다.

[in] pTemplate

초기화 중에 사용할 템플릿을 나타내는 IX509CertificateTemplate 개체에 대한 포인터입니다.

반환 값

함수가 성공하면 함수는 S_OK 반환합니다.

함수가 실패하면 오류를 나타내는 HRESULT 값을 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다. 일반적인 오류 코드 목록은 일반 HRESULT 값을 참조하세요.

반환 코드/값 설명
E_POINTER
pPublicKey, pPolicyServer 또는 pTemplate 매개 변수는 NULL입니다.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
인증서 요청 개체가 이미 초기화되었습니다.

설명

InitializeFromPublicKeyTemplate 메서드는 다음 작업을 수행합니다.

  • 템플릿에 지정된 확장(있는 경우)을 IX509Extensions 컬렉션에 추가합니다.
  • CriticalExtensions 컬렉션을 만들고 기본 XCN_OID_KEY_USAGE 및 XCN_OID_BASIC_CONSTRAINTS2 개체 식별자를 채웁니다. 템플릿에서 이러한 OID가 중요하지 않음을 나타내는 경우 컬렉션에서 제거됩니다. 템플릿에서 중요로 표시된 OID(있는 경우)가 추가됩니다.
  • 템플릿이 대칭 알고리즘을 지원하는 경우 SmimeCapabilities 속성을 설정합니다.
  • 템플릿에 불연속 서명 알고리즘 OID가 필요한 경우 AlternateSignatureAlgorithm 속성을 설정합니다.
  • IX509SignatureInformation 개체를 만듭니다.
  • 템플릿에 알고리즘이 지정된 경우 해시 알고리즘 OID를 만들고 IX509SignatureInformation 개체에 설정합니다.
  • 템플릿에 알고리즘이 지정된 경우 비대칭 암호화 알고리즘 OID를 만들고 IX509SignatureInformation 개체에 설정합니다.

CSPInformations 속성을 지정하지 않으면 메서드는 컴퓨터에 설치된 공급자로부터 ICspInformations 컬렉션을 만듭니다.

메서드는 프라이빗 키를 만들지 않습니다. 이 메서드를 사용하면 요청이 null 서명됨을 의미합니다. 따라서 메서드는 IX509SignatureInformation 개체에서 NullSigned 속성을 설정합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certenroll.h

추가 정보

IX509CertificateRequestPkcs10V2