我使用用户名/密码创建了WCF服务&证书认证。它在视觉工作室中运行良好。
现在,我想在IIS(开发服务器)上托管WCF服务 服务器:没有Hyper-V的Windows Server Standard(Service Pack 2) IIS:7
有人可以告诉我在服务器上创建自签名证书的方法,并将其分配给IIS以获取WCF服务(链信任证书)。如何为客户端生成密钥证书以使用服务。
谢谢
答案 0 :(得分:0)
如果程序很长,请耐心等待,但这个程序帮助我在开发过程中创建了自签名CA.
有关如何创建自签名证书的步骤:
假设:
已安装Visual Studio(2012/2013/2015)。
您已经拥有数字证书的基本知识(x.509)。
步骤:
打开Visual Studio工具,然后选择开发人员命令提示符 VS2013 / VS2012作为管理员。并导航或cd到位置 您要保存证书的位置。
我们需要创建第一个Root Authority作为我们的CA进行签名 证书。要创建Root Authority证书,我们使用了 来自visual studio的makecert.exe工具。更多细节 关于makecert.exe,请参考这里。
Command: makecert –n “CN=DevRootCA” –r –sv DevRootCA.pvk DevRootCA.cer
说明:上面的命令将生成根权限 签署证书的证书。 使用来自步骤2的Root Authority证书创建自签名证书。
Command: makecert –pe –n “CN= localhost” –ss my –sky exchange –sk DevCert –iv DevRootCA.pvk –ic DevRootCA.cer –sr localmachine DevCert.cer
Explanation: The command above will create and store certificate named “DevCert.cer” and it will be stored in Local Computer. To view certificates stored in your local computer Use Microsoft Management Console (mmc.exe). Please refer here
能够让服务器和客户端信任每个名为的证书 “DevCert.cer”您需要安装Root Authority证书 客户端和服务器。
Open Microsoft Management Console and follow here.
Navigate to Certificate (Local Computer)
Trusted Root Certification Authority
Certificates
At right side of panel right click at empty space All Task
Import certificate then locate your Root Authority certificate.
使用私钥导出名为“DevCert.cer”的自签名证书 为你的客户。
Use MMC again for this step and navigate to
Certificate (Local Computer)
Trusted Root Certification Authority
Certificates
At the right side of panel right click the certificate that you want to export
All tasks
Export (Press Next)
Choose option Yes
Export the private key
Leave default option (Press Next)
Enter password (Press Next). Note : The password must much to the previouse password you enter upon creation.
Browse where you want to save
Next and Finish
使用导出的证书并安装到客户端计算机上。
如何在IIS中安装自签名证书:
假设:
步骤:
打开IIS管理器,然后单击与您的计算机对应的本地主机 在开始页面之后。
单击“默认网站”。
在“操作”窗格的右侧单击“绑定”。
单击“添加”,然后选择“类型”:“https”和“确定”按钮。 (如果已经https了 存在只是更改证书)
并选择与您的证书对应的SSL证书。然后, 单击确定并关闭。
验证您的网站是否已使用您设置的证书。 转到您的浏览并导航到您的网站,看看它是否提示您 关于证书或网站旁边是否有挂锁。 点击挂锁,看看它是否是您的证书。
重要说明:此过程仅适用于开发周期,不适用于生产。对于生产,您需要从证书颁发机构获取SSL证书。