辛辛苦苦做好的WCF,带x.509证书。发布到IIS上问题一大堆!
1。先将本机证书导出。
运行certmgr.msc。
到处一个.cer文件。
2。导入到目标机器,重启IIS(每导入一次就要重启一次)
无法使用以下搜索标准找到 X.509 证书: StoreName“Root”、StoreLocation“CurrentUser”、FindType“FindBySubjectName”、FindValue“MyServer”。
出现这个错误!
据说是CurrentUser没有访问证书的权限。咋整啊?
3。网上达人们说,需要本机形式的证书,不是当前用户的。可是打开certmgr.msc就是当前用户的。
需要做如下操作:
1)“运行”里输入mmc
2)文件-〉添加/删除管理单元
3)找到“证书”,点“添加”,选“计算机账户”
4)受信任的根证书颁发机构 下导入证书。
5)修改WCF的web.config文件
<serviceCertificate storeLocation="CurrentUser" storeName="Root" x509FindType="FindBySubjectName" findValue="MyServer"/>
改为
<serviceCertificate storeLocation="LocalMachine" storeName="Root" x509FindType="FindBySubjectName" findValue="MyServer"/>
6)重新启动IIS,看看结果。
可能证书“CN=MyServer”没有能够进行密钥交换的私钥,或者进程可能没有访问私钥的权限。有关详细信息,请参见内部异常。
晕啊。。。还是不行。。
原来导出证书有讲究,需要导出密钥那种方式。也就是导出.pfx文件。
导出pfx文件。再导入一次,重启IIS。
终于看到了久违的画面!!!