【发布时间】:2015-06-11 04:07:19
【问题描述】:
我需要连接 AuthorizeNet 但我得到了:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: 找不到与certificate.authorize.net 匹配的主题替代DNS 名称(请参阅下面的错误跟踪)。
我使用的网址是https://certification.authorize.net/gateway/transact.dll
我的类AuthorizeNet中的连接代码如下:
URL url = new URL(“https://certification.authorize.net/gateway/transact.dll”);
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
错误跟踪如下:
2015-04-06 13:00:52,592 [ajp-bio-8009-exec-1] 错误 com.aaa.AuthorizeNet:541 - javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:没有找到与certificate.authorize.net匹配的主题备用DNS名称。 在 sun.security.ssl.Alerts.getSSLException(Alerts.java:192) 在 sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884) 在 sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276) 在 sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270) 在 sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1341) 在 sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153) 在 sun.security.ssl.Handshaker.processLoop(Handshaker.java:868) 在 sun.security.ssl.Handshaker.process_record(Handshaker.java:804) 在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016) 在 sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323) 在 sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563) 在 sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) 在 sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091) 在 sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250) 在 com.aaa.AuthorizeNet.startNetConnection(AuthorizeNet.java:533)
【问题讨论】:
-
如果您在沙盒中进行测试,正确的端点是 test.authorize.net/gateway/transact.dll 还请查看有关升级沙盒安全和基础架构的博文 - community.developer.authorize.net/t5/…
标签: java security connection authorize.net