ICertRequest3::SetCredential 方法 (certcli.h)
SetCredential 方法會設定用來連絡憑證註冊 Web 服務的認證。
語法
HRESULT SetCredential(
[in] LONG hWnd,
[in] X509EnrollmentAuthFlags AuthType,
[in] BSTR strCredential,
[in] BSTR strPassword
);
參數
[in] hWnd
父視窗的句柄。
您必須設定 hWnd 參數,並顯示 UI 來取得認證。
針對憑證型授權,如果需要 UI 提示以取得認證,則使用句柄,例如,如果認證位於智慧卡上,則需要釘選提示。
使用 Kerberos、匿名或使用者名稱和密碼驗證時,會忽略此參數。
[in] AuthType
指定驗證類型的 X509EnrollmentAuthFlags 列舉值。
值 | 意義 |
---|---|
|
匿名驗證。
將 strCredential 和 strPassword 參數設定為 NULL 或空字串。 |
|
安裝在本機電腦上的客戶端驗證憑證。 憑證包含與私鑰相關聯的公鑰, ( 未包含在憑證) 。 伺服器會使用憑證來驗證用戶端的身分識別。
strCredential 參數包含要傳遞至憑證註冊 Web 服務的二進位 20 位元組 SHA-1 哈希,以驗證呼叫端。 將 strPassword 參數設定為 NULL 或空字串。 strCredential 參數必須參考安裝在相關個人證書存儲中的憑證,而且必須具有可讓呼叫端存取的相關聯私鑰。 |
|
Kerberos 驗證。
將 strCredential 和 strPassword 參數設定為 NULL 或空字串。 |
|
純文字用戶名稱和密碼驗證。 使用者名稱和密碼會在用戶端上的認證保存庫中儲存時加密。
strCredential 和 strPassword 參數包含使用者名稱字串和憑證註冊 Web 服務支援的純文本密碼,以驗證呼叫端。 由於註冊服務連線一律使用 安全套接字層通訊協定 (SSL) ,因此透過網路傳送時會加密密碼。 |
[in] strCredential
包含認證的字串。
[in] strPassword
包含密碼的字串。
傳回值
傳回碼 | Description |
---|---|
|
AuthType 參數必須是 X509AuthKerberos。 |
備註
呼叫 ICertRequest2::Submit 方法之前,必須先呼叫 SetCredential 方法。
strCredential 和 strPassword 自變數會根據 AuthType 參數中指定的值而變更,如下表所示。
AuthType 參數 | strCredential 參數 | strPassword 參數 |
---|---|---|
X509AuthAnonymous | NULL | NULL |
X509AuthCertificate | 憑證的 20 個字節 SHA-1 哈希 (指紋) | NULL |
X509AuthKerberos | NULL | NULL |
X509AuthUsername | 憑證註冊 Web 服務所辨識的純文字用戶名稱 | 與使用者名稱相關聯的純文本密碼 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certcli.h (包括 Certsrv.h) |
程式庫 | Certidl.lib |
Dll | Certcli.dll |