ICertRequest3::SetCredential 메서드(certcli.h)
SetCredential 메서드는 인증서 등록 웹 서비스에 문의하는 데 사용되는 자격 증명을 설정합니다.
구문
HRESULT SetCredential(
[in] LONG hWnd,
[in] X509EnrollmentAuthFlags AuthType,
[in] BSTR strCredential,
[in] BSTR strPassword
);
매개 변수
[in] hWnd
부모 창에 대한 핸들입니다.
자격 증명을 얻으려면 UI가 표시되는 hWnd 매개 변수를 설정해야 합니다.
인증서 기반 권한 부여의 경우 자격 증명을 가져오는 데 UI 프롬프트가 필요한 경우(예: 자격 증명이 스마트 카드 있고 핀 프롬프트가 필요한 경우) 핸들이 사용됩니다.
Kerberos, 익명 또는 사용자 이름 및 암호 인증을 사용하는 경우 이 매개 변수는 무시됩니다.
[in] AuthType
인증 유형을 지정하는 X509EnrollmentAuthFlags 열거형의 값입니다.
값 | 의미 |
---|---|
|
익명 인증.
strCredential 및 strPassword 매개 변수를 NULL 또는 빈 문자열로 설정합니다. |
|
로컬 컴퓨터에 설치된 클라이언트 인증 인증서입니다. 인증서에는 프라이빗 키와 연결된 공개 키가 포함되어 있습니다(인증서에 포함되지 않음). 인증서는 서버에서 클라이언트의 ID를 확인하는 데 사용됩니다.
strCredential 매개 변수에는 호출자를 인증하기 위해 인증서 등록 웹 서비스에 전달할 인증서의 이진 20바이트 SHA-1 해시가 포함되어 있습니다. strPassword 매개 변수를 NULL 또는 빈 문자열로 설정합니다. strCredential 매개 변수는 관련 개인 인증서 저장소에 설치된 인증서를 참조해야 하며 호출자가 액세스할 수 있는 연결된 프라이빗 키가 있어야 합니다. |
|
Kerberos 인증입니다.
strCredential 및 strPassword 매개 변수를 NULL 또는 빈 문자열로 설정합니다. |
|
일반 텍스트 사용자 이름 및 암호 인증. 사용자 이름과 암호는 클라이언트의 자격 증명 모음에 저장될 때 암호화됩니다.
strCredential 및 strPassword 매개 변수에는 호출자를 인증하기 위해 인증서 등록 웹 서비스에서 지원하는 사용자 이름 문자열 및 일반 텍스트 암호가 포함됩니다. 등록 서비스 연결은 항상 SSL( Secure Sockets Layer Protocol )을 사용하므로 유선으로 전송될 때 암호가 암호화됩니다. |
[in] strCredential
자격 증명을 포함하는 문자열입니다.
[in] strPassword
암호를 포함하는 문자열입니다.
반환 값
반환 코드 | 설명 |
---|---|
|
AuthType 매개 변수는 X509AuthKerberos여야 합니다. |
설명
ICertRequest2::Submit 메서드를 호출하기 전에 SetCredential 메서드를 호출해야 합니다.
strCredential 및 strPassword 인수는 다음 표와 같이 AuthType 매개 변수에 지정된 값에 따라 변경됩니다.
AuthType 매개 변수 | strCredential 매개 변수 | strPassword 매개 변수 |
---|---|---|
X509AuthAnonymous | NULL | NULL |
X509AuthCertificate | 인증서의 20바이트 SHA-1 해시(지문) | NULL |
X509AuthKerberos | NULL | NULL |
X509AuthUsername | 인증서 등록 웹 서비스에서 인식하는 일반 텍스트 사용자 이름 | 사용자 이름과 연결된 일반 텍스트 암호 |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certcli.h(Certsrv.h 포함) |
라이브러리 | Certidl.lib |
DLL | Certcli.dll |