다음을 통해 공유


IX509CertificateRequestPkcs10::InitializeFromPublicKey 메서드(certenroll.h)

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

구문

HRESULT InitializeFromPublicKey(
  [in]           X509CertificateEnrollmentContext Context,
  [in]           IX509PublicKey                   *pPublicKey,
  [in, optional] BSTR                             strTemplateName
);

매개 변수

[in] Context

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

[in] pPublicKey

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

[in, optional] strTemplateName

Active Directory 또는 점선 10진수 개체 식별자에 나타나는 템플릿의 CN(일반 이름)을 포함하는 BSTR 변수입니다. 선택적 매개 변수입니다.

반환 값

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

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

반환 코드/값 설명
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
인증서 요청 개체가 이미 초기화되었습니다.

설명

템플릿을 지정하는 경우 InitializeFromPublicKey 메서드는 다음 작업을 수행합니다.

  • 선택적 템플릿에 지정된 확장(있는 경우)을 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 Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certenroll.h
DLL CertEnroll.dll

추가 정보

IX509CertificateRequestPkcs10