通过 Domino 受管 bean 到支付网关的 SSL 连接失败 'handshake_failure'
SSL connection via Domino managed bean to payment gateway fails with 'handshake_failure'
我有一个 Java 代理连接到支付网关以验证 CC 交易。
当我的 IBM Notes 客户端 (9.0.1FP10IF3) 上的 Java 逻辑为 运行 时,一切似乎都工作正常。
我现在正在将逻辑迁移到我的 Domino 服务器 (9.0.1FP6) 上的托管 bean。
每当通过 bean 建立连接时,我都会在服务器控制台上观察到以下错误...
HTTP JVM: javax.net.ssl.SSLHandshakeException: Received fatal alert:
handshake_failure
我确定这是因为我尝试与之通信的支付网关最近升级为强制执行 TLS 1.2 通信。
但是,我不确定如何在 Domino 服务器端实施这些通信?
我已经设置了推荐的 NOTES.INI 变量...
DISABLE_SSLV3=1
SSL_DISABLE_TLS_10=1
...并设置 'SSLCipherSpec',但没有任何效果。
这是我用来测试所有内容的逻辑的摘录。
'DataOutputStream' 行是触发错误的原因...
URL url = new URL("https://host/endpoint");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setAllowUserInteraction(false);
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Content-type", "text/xml");
connection.setRequestProperty("Content-length", Integer.toString(postContent.length()));
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
out.writeBytes(postContent);
out.flush();
out.close();
connection.disconnect();
任何 advice/assistance 将不胜感激!
根据 Per 的回答,这份文档让我可以立即解决问题...
我有一个 Java 代理连接到支付网关以验证 CC 交易。
当我的 IBM Notes 客户端 (9.0.1FP10IF3) 上的 Java 逻辑为 运行 时,一切似乎都工作正常。
我现在正在将逻辑迁移到我的 Domino 服务器 (9.0.1FP6) 上的托管 bean。
每当通过 bean 建立连接时,我都会在服务器控制台上观察到以下错误...
HTTP JVM: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
我确定这是因为我尝试与之通信的支付网关最近升级为强制执行 TLS 1.2 通信。
但是,我不确定如何在 Domino 服务器端实施这些通信?
我已经设置了推荐的 NOTES.INI 变量...
DISABLE_SSLV3=1
SSL_DISABLE_TLS_10=1
...并设置 'SSLCipherSpec',但没有任何效果。
这是我用来测试所有内容的逻辑的摘录。
'DataOutputStream' 行是触发错误的原因...
URL url = new URL("https://host/endpoint");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setAllowUserInteraction(false);
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Content-type", "text/xml");
connection.setRequestProperty("Content-length", Integer.toString(postContent.length()));
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
out.writeBytes(postContent);
out.flush();
out.close();
connection.disconnect();
任何 advice/assistance 将不胜感激!
根据 Per 的回答,这份文档让我可以立即解决问题...