簡體   English   中英

我可以在沒有自定義域的情況下在 Azure 應用服務上使用客戶端證書嗎?

[英]Can I use Client Certificates on Azure App Services without a custom domain?

出於測試目的,我想在我的 Azure 應用服務(運行 WCF 網絡服務)中啟用“傳入客戶端證書”選項,並查看我的客戶端應用程序是否仍然可以連接到網絡服務。 由於我仍處於測試階段,我的應用服務仍然具有 .azurewebsites.net 域名。

但是,我似乎無法弄清楚如何獲得服務器將接受的正確客戶端證書(無需切換到自定義域名,我知道這將起作用)。

目前,我看到了 2 條可能的解決方案途徑:

  1. 不知何故,我得到了由應用服務服務器信任的 CA 簽名的 .cer。
  2. 使用我自己的自簽名 CA 生成自簽名 .pfx 和 .cer。 在應用服務上導入 pfx 並在客戶端上安裝 .cer。

到目前為止,這兩個方向都沒有取得任何成功。 有人對這個有經驗么?

據我了解,客戶端系統使用客戶端證書向遠程服務器發出經過身份驗證的請求。 在這種情況下,您的 Web 服務是 C/S 模式下的遠程服務器。 正如您所指出的,“驗證此證書是 Web 應用程序的責任。因此,這意味着只要您不驗證任何內容,任何證書都將有效”。 它不會影響您的 Web 應用服務中是否有自定義域。

如果要在 Azure 應用中使用客戶端證書身份驗證,可以參考如何為 Web 應用配置 TLS 相互身份驗證。

如果服務器在其服務器問候中請求了客戶端證書並且客戶端證書具有簽名能力,那么它應該向服務器發送 CertificateVerify 消息。 它包含從客戶端 Hello 到該點的所有消息的簽名哈希,這些消息在服務器端緩沖。 服務器 TLS 層將使用客戶端公鑰(在之前收到的客戶端證書中)對此進行解密,並與其計算的哈希值進行比較。 如果失敗,它將回調應用層。

應用程序需要在此時處理它並返回它自己的錯誤或繼續會話。 https://www.rfc-editor.org/rfc/rfc5246#section-7.4.8

Wolfssl 庫的一個例子是https://github.com/wolfSSL/wolfssl/blob/14ef517b6113033c5fc7506a9da100e5e341bfd4/wrapper/CSharp/wolfSSL-Example-IOCallbacks/wolfSSL-Example-IOCallbacks.cs#L145

我們是否必須在 azure 門戶中創建客戶端證書並將其發送給訪問此站點的客戶端,或者它是如何工作的? 僅啟用 TLS\/ssl SETTINGS 會有所幫助嗎?

"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM