다음을 통해 공유


IX509CertificateRequestPkcs7V2::InitializeFromTemplate 메서드(certenroll.h)

InitializeFromTemplate 메서드는 템플릿을 사용하여 인증서 요청을 초기화합니다.

구문

HRESULT InitializeFromTemplate(
  [in] X509CertificateEnrollmentContext context,
  [in] IX509EnrollmentPolicyServer      *pPolicyServer,
  [in] IX509CertificateTemplate         *pTemplate
);

매개 변수

[in] context

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

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

[in] pPolicyServer

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

[in] pTemplate

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

반환 값

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

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

반환 코드/값 설명
E_POINTER
pTemplate 매개 변수는 NULL일 수 없습니다.
ERROR_ALREADY_INITIALIZED
인증서 요청 개체가 이미 초기화되었습니다.

설명

InitializeFromTemplate 메서드는 PKCS #7 요청 개체를 만들고 다음 속성을 이 메서드가 호출되기 전에 존재했던 값으로 설정합니다.

메서드는 다음 컬렉션을 만듭니다.
  • ICryptAttributes 컬렉션입니다.
  • IX509Extensions 컬렉션입니다.
  • 기본 XCN_OID_KEY_USAGE 및 XCN_OID_BASIC_CONSTRAINTS2 개체 식별자가 채워진 IObjectIds 컬렉션입니다.
  • 새 요청에서 표시하지 않을 특성 및 확장 OID에 대한 빈 IObjectIds 컬렉션입니다.

그런 다음 메서드는 템플릿을 검사하고 다음 작업을 수행합니다.

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

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

마지막으로 메서드는 초기화된 PKCS #10 요청을 내부 요청 개체로 설정합니다.

요구 사항

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

추가 정보

IX509CertificateRequestPkcs7V2