Share via


IX509Enrollment2::InstallResponse2 메서드(certenroll.h)

InstallResponse2 메서드는 최종 엔터티 컴퓨터에 인증서 체인을 설치합니다. 응답이 포함된 바이트 배열은 ASN.1(Abstract Syntax Notation One) 표준에 정의된 대로 DER(Distinguished Encoding Rules)를 사용하여 인코딩됩니다. 순수 이진 시퀀스이거나 유니코드로 인코딩된 문자열에서 DER로 인코딩된 바이트 배열을 지정해야 합니다. 이 메서드는 웹을 사용할 수 있습니다.

구문

HRESULT InstallResponse2(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword,
  [in]           BSTR                            strEnrollmentPolicyServerUrl,
  [in]           BSTR                            strEnrollmentPolicyServerID,
  [in]           PolicyServerUrlFlags            EnrollmentPolicyServerFlags,
  [in]           X509EnrollmentAuthFlags         authFlags
);

매개 변수

[in] Restrictions

설치할 수 있는 인증서 유형을 지정하는 InstallResponseRestrictionFlags 열거형 값입니다. 다음 값 중 하나 이상이 될 수 있습니다.

의미
AllowNone
해당 요청이 없는 신뢰할 수 없는 인증서 또는 인증서를 설치하지 마세요.
AllowNoOutstandingRequest
더미 인증서가 아닌 인증서 응답에서 프라이빗 키를 만듭니다. 이렇게 하면 더미 인증서가 선택 사항으로 지정됩니다. 이 값을 설정하지 않으면 더미 인증서가 있어야 하며 프라이빗 키가 추출됩니다.
AllowUntrustedCertificate
신뢰할 수 없는 최종 엔터티 및 인증 기관 인증서를 설치합니다. 인증 기관 인증서에는 루트 및 하위 CA 인증서가 포함됩니다. 최종 엔터티 인증서는 개인 저장소에 설치되고 CA 인증서는 인증 기관 저장소에 설치됩니다.
AllowUntrustedRoot
AllowUntrustedCertificate 플래그와 동일한 작업을 수행하지만 루트를 신뢰할 수 없으므로 인증서 체인을 빌드할 수 없는 경우에도 인증서를 설치합니다.
참고 Windows Vista에서 이 플래그의 동작은 AllowUntrustedCertificate 플래그에 대해 정의된 동작과 동일합니다. SP1을 사용하여 Windows Vista부터 신뢰할 수 없는 루트를 설치할 수 있습니다.
 

[in] strResponse

DER로 인코딩된 응답을 포함하는 BSTR 변수입니다.

[in] Encoding

DER로 인코딩된 응답을 포함하는 문자열에 적용되는 인코딩 유형을 지정하는 EncodingType 열거형 값입니다.

[in, optional] strPassword

인증서 설치에 대한 선택적 암호입니다. 암호가 사용되지 않음을 나타내는 NULL 일 수 있습니다. 암호 사용을 마쳤으면 SecureZeroMemory 함수를 호출하여 메모리에서 암호를 지웁 수 있습니다. 암호 보호에 대한 자세한 내용은 암호 처리를 참조하세요.

[in] strEnrollmentPolicyServerUrl

CEP(인증서 등록 정책) 서버의 URL을 포함하는 BSTR 입니다.

[in] strEnrollmentPolicyServerID

CEP 서버에 대한 식별자를 포함하는 BSTR 입니다.

[in] EnrollmentPolicyServerFlags

PolicyServerUrlFlags 열거형 값입니다. 다음 값 중 하나일 수 있습니다.

의미
PsfLocationGroupPolicy
CEP 서버 URL은 관리자가 그룹 정책에 지정합니다.
PsfLocationRegistry
CEP 서버 URL은 레지스트리에 지정됩니다.
PsfUseClientId
인증서 등록 및 갱신에 ClientId 특성의 클라이언트 특정 데이터가 포함되도록 지정합니다. 예를 들어 암호화 서비스 공급자의 이름, Windows 버전 번호, 사용자 이름, 컴퓨터 DNS 이름 및 도메인 컨트롤러 DNS 이름이 있습니다. 이 플래그는 그룹 정책에 의해 설정할 수 있습니다.

이 플래그는 사용자가 있는 포리스트를 관리하는 사용자 이외의 관리자가 관리하는 서버에 등록하는 동안 발생할 수 있는 개인 정보 보호 문제를 해결하기 위해 포함되었습니다. 이 플래그를 설정하지 않으면 로컬이 아닌 관리자에게 개인 정보를 보내는 것을 방지할 수 있습니다.

PsfAutoEnrollmentEnabled
자동 인증서 등록이 사용하도록 설정됩니다.
PsfAllowUnTrustedCA
발급 CA의 인증서를 클라이언트에서 신뢰할 수 없도록 지정하여 CA에서 서명한 인증서를 설치합니다.

[in] authFlags

클라이언트 인증 유형을 지정하는 X509EnrollmentAuthFlags 열거형 값입니다. Windows 7의 경우 다음 값에서 X509AuthCertificate 만 선택할 수 있습니다.

의미
X509AuthAnonymous
익명 인증.
X509AuthKerberos
Kerberos 인증입니다.
X509AuthUsername
텍스트 사용자 이름 및 암호 인증을 지웁 수 있습니다.
참고 사용자 이름과 암호는 전송 전에 암호화되며 CEP 서버의 자격 증명 모음에 안전하게 저장됩니다.
 
X509AuthCertificate
로컬 컴퓨터에 설치되고 서버에서 클라이언트의 ID를 확인하는 데 사용하는 클라이언트 인증 인증서입니다.

반환 값

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

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

반환 코드 Description
E_ACCESSDENIED
이 메서드는 웹에서 호출되었으며 AllowNoOutstandingRequest 또는 AllowUntrustedCertificateRestrictions 매개 변수에 지정되었습니다.
HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW
암호를 포함하는 문자열의 길이가 64KB를 초과합니다.
OLE_E_BLANK
등록 개체가 초기화되지 않았습니다.

설명

InstallResponse2 메서드:

  1. 외부 저장소에서 더미 인증서를 검색합니다.
  2. 응답에 포함된 인증서를 검색하여 컴퓨터에 설치합니다.
  3. 외부 저장소의 더미 인증서에서 개인 저장소에 새로 설치된 인증서로 속성을 복사합니다.

InstallResponse2 메서드를 호출하기 전에 다음 메서드 중 하나를 호출하여 IX509Enrollment 개체를 초기화해야 합니다.

웹에서 이 메서드를 호출하는 경우 Restrictions 매개 변수에서 AllowNone 또는 AllowUntrustedRoot만 지정할 수 있습니다. AllowNoOutstandingRequest 또는 AllowUntrustedCertificate를 지정하면 메서드는 E_ACCESSDENIED 오류를 반환합니다.

마지막 네 개의 매개 변수(strEnrollmentPolicyServerUrl, strEnrollmentPolicyServerID, EnrollmentPolicyServerFlagsauthFlags)는 InstallResponse 메서드에 포함되지 않습니다. ICertPropertyEnrollmentPolicyServer 인터페이스와 거의 동일한 방식으로 설치된 인증서에 속성 값을 추가할 수 있습니다.

요구 사항

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

추가 정보

IX509Enrollment2