我需要保护使用 netTcpBinding 并直接与基于 Windows 窗体的应用程序连接的 WCF 服务。我只需要它在传输层得到保护。
我很确定我可以在本地运行该服务,即我可以在本地运行该服务,并与客户端连接到它。
当我尝试设置服务以使其在服务器而不是本地计算机上运行时,我遇到了证书问题。错误日志表明证书必须具有能够进行密钥交换的私钥,并且进程必须具有私钥的访问权限。
我正在使用使用 makecert 创建的开发证书。
makecert -n "CN=MY COMPANY DEBUG" -pe -sky exchange Debug.cer
我必须承认我对使用证书很陌生。有谁知道如何解决此问题,或者有更好的方法使用证书通过 netTcpBinding 将传输安全性添加到 WCF 服务吗?
Thanks.
尝试这个:
makecert -n "CN=MY COMPANY DEBUG" -pe -sky exchange Debug.cer -sv Debug.pvk
pvk2pfx -pvk Debug.pvk -spc Debug.cer -pfx Debug.pfx
然后,您将得到三个文件:.cer 文件(公钥)、.pvk(私钥)和 .pfx(与两者进行密钥交换)。然后您可以在服务器上安装 .pfx 文件,如下所示:
certutil -p "" -importPFX Certificates\Debug.pfx
在客户端,您只需要安装.cer文件。您还可以通过证书 MMC 管理单元(“开始”、“运行”、MMC.exe,然后为当前计算机添加证书管理单元)来完成这些安装(上面的 .cer 和 .pfx)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)