2009-07-29 75 views
6

我有一個服務器證書與我的WCF服務一起工作。WCF服務器證書找不到密鑰集,找不到私鑰

但是,當我運行web服務時,我似乎有權限問題。

[ArgumentException:證書'CN = S80'必須具有能夠進行密鑰交換的私鑰。該過程必須具有私鑰的訪問權限。]

任何想法?

回答

18

假設您擁有完整的公鑰/私鑰對,則您尚未授予對運行WCF服務的進程的證書私鑰的訪問權限。

現在,你是怎麼做到這取決於你的操作系統版本,以及你如何託管服務,但this article提供了相關說明,應該工作在XP和Windows 2003

對於Windows 2008/VISTA/Win7的過程稍微更輕鬆。啓動MMC並添加證書管理單元,爲您的SSL證書選擇正確的容器所有者。找到證書(可能在個人商店中),右鍵點擊它並選擇所有任務>管理私鑰。授予對託管您的服務的用戶的私鑰訪問權限。

+1

此外這裏有用的鏈接http://msdn.microsoft.com/en-us/library/aa702621.aspx – AJM 2009-07-29 14:26:58

2
winhttpcertcfg -g -c LOCAL_MACHINE\MY -s mycert -a "Network Service"