다음을 통해 공유


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

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

문법

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

매개 변수

[in] context

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

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

[in] pPolicyServer

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

[in] pTemplate

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

반환 값

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

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

반환 코드/값 Description
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 개체를 만듭니다.
  • 템플릿에 알고리즘이 지정된 경우 해시 알고리즘 OID를 만들고 IX509SignatureInformation 개체에 설정합니다.
  • 템플릿에 알고리즘이 지정된 경우 비대칭 암호화 알고리즘 OID를 만들고 IX509SignatureInformation 개체에 설정합니다.
  • 템플릿 설정에서 많은 IX509PrivateKey 속성을 채웁니다.

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

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

요구 사항

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

참고하십시오

IX509CertificateRequestPkcs7V2