2012-02-20 116 views
0

我試圖從.NET連接到Web服務。我在我的類庫中引用該服務。使用證書調用Web服務

我試圖導入證書(這是一個名爲.p12)到以下地點

  • 本地計算機\個人\證書
  • 本地計算機\受信任的根證書\證書
  • 當前用戶\個人\證書
  • 當前用戶\受信任的根證書\證書

在我Web.config我有以下設置證書,但我不斷從Web服務獲取一個異常,表示沒有證書。

<clientCredentials> 
    <clientCertificate findValue="[email protected]" storeName="My" storeLocation="LocalMachine" x509FindType="FindByIssuerName"/> 
</clientCredentials> 

如果需要更多的代碼,請讓我知道。

感謝

回答

2

我認爲這個問題可能是IIS在其下運行的用戶沒有權限在您的密鑰存儲私鑰。當我過去遇到這個問題時,我發現了一個令人困惑的「未找到」的例外,當時它確實被「拒絕了許可」。

您可以使用一種工具來授予用戶訪問密鑰庫的權限。你可以得到這個工具,並在這裏閱讀:http://msdn.microsoft.com/en-us/library/windows/desktop/aa384088(v=vs.85).aspx

+0

我已經使用了這個。我正在嘗試使用IIS Express在我的本地開發機器上執行此操作,但也需要在生產Web服務器上進行。 – 2012-02-20 04:57:11

+0

@mmillican - 這方面的進展如何?任何提示或確認要添加?試圖自己弄清楚這一點,但除了生產環境中的PowerShell之外,我沒有任何開發資源,開發環境現在沒有爲Web服務設置證書 - 試圖弄清楚如何最好地確認我可以做到這一點,然後繼續 – 2015-11-19 12:18:46