繁体   English   中英

SSL证书升级引起的问题

[英]SSL Certificate Upgrade causing Issues

我们正在与远程服务器进行身份验证。 Web服务器使用由Verisign签名的SSL证书。 数据是通过HTTP交换的,我们已经将ThreadSafeClientConnManager配置为使用JVM默认的SSL工厂:

SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", PlainSocketFactory
                .getSocketFactory(), 80));
schemeRegistry.register(new Scheme("https", SSLSocketFactory
                .getSocketFactory(), 443));
ClientConnectionManager manager = new ThreadSafeClientConnManager(
                sDefaultHttpParams, schemeRegistry);

最近,Web服务器更新了其SSL证书,这导致我们的应用程序损坏。 我们怎样做才能避免这个问题?

请帮忙。

您真的无法采取任何措施来“避免”该问题,因为这并不是真正的问题,它是SSL证书和授权信任的核心“功能”。

这是一个相当广泛的问题,更多细节可以帮助您找到确切的问题,但这是需要检查的前两件事。

  1. 他们升级了哪个CA来使用SSL证书? 它是自签名的吗?
    如果站点已升级为使用使用非标准根证书颁发机构的SSL证书,则您需要使用keytool导入特定的SSL证书,以告知本地JVM该证书是受信任的。 如果他们使用新的证书颁发机构(并且您的组织信任该根证书颁发机构),那么您可能需要导入新的根证书颁发机构,默认情况下大多数专业都受支持,但是有时我不得不被迫导入新证书。

http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html

  1. 确保其证书正确链接。 我看到的第二个最常见的问题是站点管理员的证书链接(安装)。 不幸的是,IE / Mozilla / Java ...都使用不同的验证机制来确保SSL证书“有效”,而且我发现许多站点管理员不知道如何将证书正确链接到其站点上的相应根权限。 您应该在浏览器中打开证书(我会以多种方式打开它),并检查信任链,以确保从站点一直到期望的根CA的证书链。 (这也是检查#1的根CA的方式)。 如果没有信任链,则JVM SSL验证将失败(而我已经看到Internet Explorer在较旧版本的IE中将非链接证书称为“有效”)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM