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 列舉值。

意義
X509AuthAnonymous
匿名驗證。

strCredentialstrPassword 參數設定為 NULL 或空字串。

X509AuthCertificate
安裝在本機電腦上的客戶端驗證憑證。 憑證包含與私鑰相關聯的公鑰, ( 未包含在憑證) 。 伺服器會使用憑證來驗證用戶端的身分識別。

strCredential 參數包含要傳遞至憑證註冊 Web 服務的二進位 20 位元組 SHA-1 哈希,以驗證呼叫端。 將 strPassword 參數設定為 NULL 或空字串。 strCredential 參數必須參考安裝在相關個人證書存儲中的憑證,而且必須具有可讓呼叫端存取的相關聯私鑰。

X509AuthKerberos
Kerberos 驗證。

strCredentialstrPassword 參數設定為 NULL 或空字串。

X509AuthUsername
純文字用戶名稱和密碼驗證。 使用者名稱和密碼會在用戶端上的認證保存庫中儲存時加密。

strCredentialstrPassword 參數包含使用者名稱字串和憑證註冊 Web 服務支援的純文本密碼,以驗證呼叫端。 由於註冊服務連線一律使用 安全套接字層通訊協定 (SSL) ,因此透過網路傳送時會加密密碼。

[in] strCredential

包含認證的字串。

[in] strPassword

包含密碼的字串。

傳回值

傳回碼 Description
E_INVALIDARG
AuthType 參數必須是 X509AuthKerberos

備註

呼叫 ICertRequest2::Submit 方法之前,必須先呼叫 SetCredential 方法。

strCredentialstrPassword 自變數會根據 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

另請參閱

CCertRequest

ICertRequest3