从 domino 向 bluemix 发送 https 请求

Send https request from domino to bluemix

当我向 bluemix 服务发送 https 请求时出现异常:

javax.net.ssl.SSLHandshakeException: Received fatal alert: unrecognized_name at com.ibm.jsse2.o.a(o.java:8) at com.ibm.jsse2.o.a(o.java:4) at com.ibm.jsse2.SSLSocketImpl.b(SSLSocketImpl.java:40) at com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:554) at com.ibm.jsse2.SSLSocketImpl.h(SSLSocketImpl.java:223) at com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:724) at com.ibm.jsse2.SSLSocketImpl.startHandshake(SSLSocketImpl.java:81) at com.ibm.net.ssl.www2.protocol.https.c.afterConnect(c.java:8) at com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:20) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1207) at com.ibm.net.ssl.www2.protocol.https.b.getInputStream(b.java:15) at com.ibm.denisTeam.Main.NotesMain(Main.java:32) at lotus.domino.AgentBase.runNotes(Unknown Source) at lotus.domino.NotesThread.run(Unknown Source)

有人知道如何解决该异常吗?

我使用以下代码提出请求:

URL url = new URL(HOST);

HttpURLConnection con = (HttpURLConnection) url.openConnection();

当客户端(在本例中,客户端是代理所在的 Domino 服务器中的 JVM 运行)和服务器 (Bluemix) 没有安全连接协议并且共同的密码。您的 Domino 服务器是什么版本 运行?

我最好的猜测是,由于这些协议中已知的安全问题,Bluemix 可能不再接受 SSL3 或 TLSv1.0 协议,但是 Domino 服务器上的 JVM 不支持 TLSv1.1 或 v1.2。 (这只是一个猜测,但很多服务都在这样做。)

有一些关于让 TLSv1.2 在 this IBM Technote 中的 Java 代理的出站连接中工作的信息,但我认为它特定于 Domino 9。如果您使用的是早期版本,那么您可能需要搜索一下才能找到适合您的版本的正确信息。不过,在搜索时要小心,因为很多关于 TLS 支持和 Domino 的信息来源只涉及配置 Domino 的服务以接受入站连接,这不会帮助您解决与 JVM 建立出站连接相关的问题。

使用 8 修复包解决了这个问题