2017-10-04 195 views
0

我有一個使用客戶端證書,才能連接到第三方鑑定提供了一個C#網絡API(BankID https://www.bankid.com/en/)。使用客戶端證書IIS

當在Visual Studio中運行的所有連接握手工作正常。但是之後我將它部署到運行在Azure上的虛擬機上的IIS上,出於某種原因,現在它不能按預期工作,而是我得到一個異常:

「請求被中止:無法創建SSL/TLS安全通道「。

我已經安裝在虛擬機上的Visual Studio,並驗證它的工作原理;並且我已經在本地機器上安裝了IIS並驗證了它的工作原理。因此,如果Azure虛擬機上使用IIS,它似乎是一個組合。

起初我以爲這可能是因爲客戶端證書was'nt從證書存儲區回升。但我添加了「找不到證書」的處理,而這不會觸發。

我也試着從文件拿起證書的替代品。但是這也行不通。

希望得到一些幫助!

回答

0

嘗試把這個在你的構造:

ServicePointManager.Expect100Continue = true; 
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11; 
0

我總算弄明白了什麼問題。 IIS用戶(IIS_IUSRS)沒有使用私鑰的權限。所以它實際上並不涉及到Azure。

對於運行到同一問題的人,看一下詳細的解答這裏:https://stackoverflow.com/a/2647003/8721876