我正在开发一个从客户端应用程序调用 Web 服务的系统。托管 Web 服务的服务器(带有 IIS 的 Windows Server 2008)上的 SSL 证书已过期。向同一实体颁发了新的 SSL 证书。除了新的到期日期和新的友好名称外,其他一切都相同。客户端现在引发证书错误,指出证书已过期。客户端可以看到旧证书,但看不到新证书。如何修复 SSL 证书,以便客户端可以再次调用 Web 服务?这与不同的友好名称有关吗?谢谢。
答案1
站点/服务是否正确绑定到新证书?从您的描述来看,似乎仍向客户端提供旧证书。
您可以在服务器本身上进行测试以确认证书是否正确绑定(例如,在服务器本身上使用您喜欢的浏览器连接到站点并确认证书是否正确显示。)如果它报告旧的过期证书那么您的绑定似乎不正确,您需要确认您已更换证书。
如果服务器通过了第一次检查:
旧证书是否在 Web 服务器上的证书存储中?如果是,请从证书存储中删除该证书,然后尝试重新连接 - 我之前曾见过旧证书以某种方式妨碍连接的情况(通常在 Server 2003 上,证书未通过 winhttpcertcfg 实用程序绑定到服务帐户)
如果服务器没有通过第一次检查(旧证书仍然有效):
确认您已正确安装证书:
1:打开“开始”菜单,选择“运行”,然后选择“MMC”。2:转到“文件”菜单,选择“添加/删除管理单元”。从列表中选择“证书”,然后按“添加”按钮。3:从列表中选择“计算机帐户”。按“下一步”按钮,然后再次按“下一步”按钮。然后按“确定”按钮。“证书(本地计算机)”将出现在“选定的管理单元”窗口中。按“确定”按钮。4:从下拉列表中,双击“证书(本地计算机)”,然后向下一级目录转到“个人”,最后转到“证书”。
检查您的新证书是否存在,如果不存在,请导入证书(或您使用的任何方法(续订、自动注册等)
假设您的新证书存在:
1:从管理工具启动 Internet 信息服务 (IIS) 管理器 2:在左侧栏中突出显示目标网站(名称会有所不同)。然后单击右侧栏中的绑定
3:选择 https 然后点击 编辑 。这将提示为该网站实例分配证书。
4:从 SSL 证书下拉列表中选择您想要分配的证书,然后单击查看以确认证书详细信息,以验证您绑定了正确的证书。
确认证书正确后,单击“确定”。现在它将证书绑定到站点。
再次进行本地测试以验证服务器是否提供了正确的证书。
继续您的应用程序测试。