我今天从Java 1.6升级到Java 1.7.从那时起,当我尝试通过SSL建立与Web服务器的连接时发生错误:
javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
at sun.security.ssl.ClientHandshaker.handshakeAlert(ClientHandshaker.java:1288)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1904)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1027)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1262)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1289)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1273)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:523)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at java.net.URL.openStream(URL.java:1035)
Run Code Online (Sandbox Code Playgroud)
这是代码:
SAXBuilder builder = new SAXBuilder();
Document document = null;
try {
url = new URL(https://some url);
document = (Document) builder.build(url.openStream());
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(DownloadLoadiciousComputer.class.getName()).log(Level.SEVERE, null, ex);
}
Run Code Online (Sandbox Code Playgroud)
它只是一个测试项目,这就是为什么我允许和使用不受信任的证书与代码:
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, …Run Code Online (Sandbox Code Playgroud) 我在SoapUI中创建了一个REST项目来测试googlemapsapi休息服务(HTTPS).我配置SoapUI使用代理设置到fiddler(localhost:8888).在fiddler中,启用了Fiddler Tools - > Https下的"Decrypt Https Traffic"选项
当我发送请求时,握手成功.以下是请求和响应标头:
请求标题
CONNECT maps.googleapis.com:443 HTTP/1.1客户端用户代理:Apache-HttpClient/4.1.1(java1.5)传输连接:Keep-Alive Host:maps.googleapis.com
响应标题
建立HTTP/1.1 200连接
杂
FiddlerGateway:直接启动时间:15:45:06.462
运输
连接:关闭
握手后,没有进一步的请求和响应.
没有代理,握手和请求/响应工作正常.
注意:我按照以下链接将证书添加到SoapUI证书断言和密钥存储区,没有运气.
http://qatesterblog.blogspot.com/2013/10/how-to-make-soapui-ssl-compatible.html
我正在尝试使用SOAP UI来访问第三方Web服务并得到以下异常:
错误:请求中的异常:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure
我没有来自第三方Web服务的cacert或密钥库,但是我具有签名。通过使用签名,我可以通过我的应用程序访问第三方Web服务。
如何在SOAP UI中配置此签名?