2017-03-29 35 views
0

不好意思問這個問題,但是我在Stack上找不到任何答案。客戶端證書:無法爲SSL/TLS建立具有權限的安全通道(Again!)

我開發了一個客戶端應用程序,使用WCF與外部SOAP API進行對話。要進行身份驗證,應用程序使用客戶端證書。 (客戶端證書已安裝在服務器上)。當我在本地機器上測試時,一切正常。

的問題,當我部署在IIS應用程序(在EC2)發生。應用程序無法再與SOAP API進行通信。這是錯誤:

"Could not establish secure channel for SSL/TLS with authority". 

我在當前用戶和本地計算機位置的Personnal存儲中安裝證書。當我嘗試使用瀏覽器訪問SOAP API時(獲取也需要客戶端證書的wsdl文件)。

注意:證書不是自簽名的。它由授權的CA創建。

感謝您的幫助

+0

所以按我理解你的客戶端應用程序是網絡應用程序,獲取從本地機的證書並將其連接到以SOAP服務提出的要求。是嗎? –

+0

嗨Rashmin,是的,就是這樣。你有什麼線索可以解決問題嗎? – Hudvoy

+0

我將IIS的應用程序池的標識更改爲LocalSystem並重新啓動應用程序。我認爲這是一個許可問題 – Hudvoy

回答

0

證書存儲只能由管理員訪問。本地iis用戶,即IUSER沒有管理員權限,所以你得到了證書錯誤。將應用程序池標識更改爲LocalSystem解決了您的問題,因爲LocalSystem可以訪問證書存儲。

另一個最佳解決方案是隻允許證書到IUSER接入。 (通過這樣做,您已授予特定訪問權限,而不是完全管理員對應用程序池的訪問權限)。

要做到這一點去 證書控制檯 - >右鍵單擊證書 - >所有任務 - >管理私鑰 - >添加IUSER並點擊確定。

enter image description here

enter image description here

0

我改變了IIS的應用程序池本地系統的身份並重新啓動應用程序。我認爲這是一個許可問題。如果有人能解釋我爲什麼解決這個問題,我會接受她/他的回答。

相關問題