若要运行与 Internet Information Services (IIS)安全通信的示例,必须创建并安装服务器证书。
步骤 1. 创建证书
若要为计算机创建证书,请打开具有管理员权限的 Visual Studio 开发人员命令提示符,并运行每个使用安全与 IIS 通信的示例中包含的 Setup.bat。 在运行此批处理文件之前,请确保路径包含包含 Makecert.exe 的文件夹。 以下命令用于在 Setup.bat中创建证书。
makecert -sr LocalMachine -ss My -n CN=ServiceModelSamples-HTTPS-Server -sky exchange -sk ServiceModelSamples-HTTPS-Key
步骤 2. 安装证书
安装刚创建的证书所需的步骤取决于所使用的 IIS 版本。
在 IIS 5.1(Windows XP)和 IIS 6.0 上安装 IIS(Windows Server 2003)
打开 Internet 信息服务管理器 MMC 管理单元。
右键单击默认网站并选择“ 属性”。
选择“目录安全性”选项卡。
单击 “服务器证书 ”按钮。 Web 服务器证书向导将启动。
完成安装向导。 选择用于分配证书的选项。 从显示的证书列表中选择 ServiceModelSamples-HTTPS-Server 证书。
使用 HTTPS 地址
https://localhost/servicemodelsamples/service.svc
在浏览器中测试对服务的访问。
如果以前使用 Httpcfg.exe 配置了 SSL
使用 Makecert.exe(或运行 Setup.bat)创建服务器证书。
运行 IIS 管理器,并根据前面的步骤安装证书。
将以下代码行添加到客户端程序。
重要
只有测试证书(例如由 Makecert.exe创建的证书)才需要此代码。 不建议用于生产代码。
PermissiveCertificatePolicy.Enact("CN=ServiceModelSamples-HTTPS-Server");
在 IIS 7.0 上安装 IIS(Windows Vista 和 Windows Server 2008)
在“开始”菜单中,单击“运行”,然后键入“inetmgr”以打开 Internet Information Services (IIS) MMC 管理单元。
右键单击 默认网站 并选择 “编辑绑定...”
单击“网站绑定”对话框的“添加”按钮。
从“类型”下拉列表中选择 HTTPS。
从 SSL 证书下拉列表中选择 ServiceModelSamples-HTTPS-Server,然后单击“确定”。
使用 HTTPS 地址
https://localhost/servicemodelsamples/service.svc
在浏览器中测试对服务的访问。
注释
由于刚刚安装的测试证书不是受信任的证书,因此浏览到使用此证书保护的本地 Web 地址时,可能会遇到其他安全警告。
删除证书
如前所述使用 Internet Information Services Manager,但删除证书或绑定,而不是添加它。
使用以下命令删除计算机证书。
httpcfg delete ssl -i 0.0.0.0:443