2017-02-09 14 views
0

第三方供應商正在添加驗證(yay!),但它並不總是適用於我們(boo!)。對於普通用戶,「驗證失敗,因爲遠程方關閉了傳輸流」

當C#應用程序以「管理員身份」運行時,它工作正常。然而,當應用程序運行作爲普通(非管理員)用戶失敗與

「驗證失敗,因爲遠程方已關閉傳輸流」

我們明確地設置爲TLS 1.2

消息
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

我們

  • 執行4.6 .NET C#WCF客戶
  • 是consu MES在Windows服務器上使用TLS1.2
  • 2012平臺
+0

你跟第三方供應商談過了嗎?這是他們的代碼,所以他們最好能夠回答任何問題。 – Tim

+0

他們不知道。他們指向我們的環境,因爲它以ADMIN用戶的身份運行,但不像任何其他用戶那樣運行。 –

回答

1

的HTTPS Web服務

  • 我們與this計算器場景的幫助了它,以及this一個太..

    問題在於爲「計算機」帳戶安裝了證書Trusted People.。當以管理員模式運行時,或者以具有管理員權限的用戶身份運行時,它工作正常。但是,如果作爲我們的「服務帳戶」運行(由於它不是真正的服務帳戶,所以在引號中) - 服務帳戶沒有權限讀取證書。

    我們發現挖掘到C:\ProgramData\Microsoft\crypto\rsa\machinekeys目錄並更改相應證書的讀取權限。

    我們不喜歡使用icacls改變安裝的證書的讀取權限的建議的解決方案(部分原因是因爲實際上找到正確的證書項艱鉅的任務的。)

    我們弄清楚,我們可以運行mmc.exe作爲service account,然後將其安裝到該帳戶的Trusted People級別。和然後我們的非管理員應用程序可以讀取證書並建立連接。

  • +0

    很高興你發現了這個問題。並感謝您分享答案 - 這將幫助人們走上正路:) – Tim

    相關問題