如何使用.crt文件和.key文件连接java

时间:2015-10-05 08:50:27

标签: java ssl https

我在互联网上搜索了一天,但我没有任何线索可以解决我的问题。

请帮帮我。

我在银行注册了一个网络服务,银行发给我2个文件.crt文件和.key文件。

在我的客户进行交易后,银行会向我发送一条邮件请求消息以通知我的服务器(我的服务器收到此消息),但银行要求我发回该消息以通过他们的网络服务网址确认(他们的网址使用https)。

当我使用代码java发回消息时,我收到此异常

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

这是我的代码

URL url = new URL("https://bankurlservice"); 
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(); 
KeyStore ksCACert = KeyStore.getInstance(KeyStore.getDefaultType()); 
ksCACert.load(new FileInputStream("keystore path"), "keystorepass".toCharArray()); 
TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509"); 
tmf.init(ksCACert);
SSLContext context = SSLContext.getInstance("TLS"); 
context.init(null, tmf.getTrustManagers(), null);
SSLSocketFactory sslSocketFactory = context.getSocketFactory();
urlConnection.setSSLSocketFactory(sslSocketFactory); 
BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); 
String res = "";
String inputLine; while ((inputLine = in.readLine()) != null) { res += inputLine; } in.close(); 

0 个答案:

没有答案