0
我有這樣的代碼:IBM JDK 7 SSL連接不工作
String auth = username + ":" + password;
URL url = new URL(hostname + path);
TrustManager[] trustAllCerts = new TrustManager[] { new SSLTrustManager() };
HostnameVerifier hostnameVerifier = new SSLHostnameVerifier();
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestProperty("Authorization", "Basic " + auth);
conn.connect();
我遇到的問題是這樣的:與IBM JDK 6,一切工作正常,與IBM加多寶7失敗,出現錯誤:
IBMJSSEProvider2 Build-Level: -20110720
keyStore is: C:\Program Files\IBM\Java70\jre\lib\security\cacerts
keyStore type is: jks
keyStore provider is:
init keystore
SSLContextImpl: Using X509ExtendedKeyManager com.ibm.jsse2.tc
SSLContextImpl: Using X509TrustManager com.ibm.cmsng.iem.SSLTrustManager
trigger seeding of SecureRandom
done seeding SecureRandom
Installed Providers =
IBMJSSE2
IBMJCE
IBMJGSSProvider
IBMCertPath
IBMSASL
IBMXMLCRYPTO
IBMXMLEnc
IBMSPNEGO
SUN
JsseJCE: Using KeyAgreement ECDH from provider IBMJCE version 1.7
JsseJCE: Using signature SHA1withECDSA from provider IBMJCE version 1.7
JsseJCE: Using signature NONEwithECDSA from provider IBMJCE version 1.7
JsseJCE: Using KeyFactory EC from provider IBMJCE version 1.7
JsseJCE: Using KeyPairGenerator EC from provider TBD via init
JsseJce: EC is available
JsseJCE: Using cipher AES/CBC/NoPadding from provider TBD via init
JsseJCE: Using SecureRandom from provider IBMJCE version 1.7
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
可能是什麼問題? 我使用相同的主機:端口組合,沒有更改。 IBM JDK中從6版到7版的SSL支持有何變化?我也嘗試過使用Oracle的java 8,並且再次沒有成功。
作品像一個魅力:)謝謝先生。 –