我試圖做HTTPS GET使用客戶端證書認證請求的響應創建SSL通道和它失敗.NET 4.7失敗時服務器TLS 1.1
The request was aborted: Could not create SSL/TLS secure channel.
我試圖使用Java和相同的請求它工作正常,我看到的Java日誌以下(剝離只有趣的部分):
*** ClientHello, TLSv1.2
main, WRITE: TLSv1.2 Handshake, length = 185
....
*** ServerHello, TLSv1.1
main, READ: TLSv1.1 Handshake, length = 3339
這是我理解的手段,由於某種原因,該服務器不支持TLS 1.2,但客戶端接受這一點,只是秋天支持TLS 1.1。
當我設置
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11;
.NET正常工作了。 現在的問題 - 爲什麼.NET不像Java一樣回退到TLS 1.1,我可以以某種方式啓用該回退(不實際嘗試TLS 1.2,捕獲異常並嘗試使用TLS 1.1)?
集SecurityProtocol到SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12? – Evk
您在運行此代碼的機器上安裝的Windows版本是什麼? – Evk
Windows 10 15063.608 – Giedrius