取得エラー - javax.net.ssl.SSLHandshakeException: サーバーは TLSv1 を選択しましたが、保護された Web サービスを呼び出すときに、そのプロトコル バージョンが有効になっていないか、クライアントによってサポートされていません。
Oracle サイトでアドバイスされているように、mydomain\bin\ setDomainEnv.cmd の JAVA_OPTIONS 変数に次のオプションを追加しましたが、同じ問題があります。
-Dweblogic.security.SSL.protocolVersion=TLS1
Java client code :
File pKeyFile = new File("C:\\myJKS.jks");
if (pKeyFile.exists() && !pKeyFile.isDirectory()) {
logger.debug("JKS file exists, and it is a file");
}
KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(new FileInputStream(pKeyFile.toString()),
pKeyPassword.toCharArray());
KeyManagerFactory keyManagerFactory = KeyManagerFactory
.getInstance("SunX509");
keyManagerFactory.init(keyStore, pKeyPassword.toCharArray());
**SSLContext context = SSLContext.getInstance("TLSv1.1");**
context.init(keyManagerFactory.getKeyManagers(), null,
new SecureRandom());
sockFact = context.getSocketFactory();
if(sockFact == null){
logger.debug("SocketFactory is null");
throw new NullPointerException("socketFactory == null");
}
クライアント環境 - JDK バージョン: 7、アプリケーション サーバー:Weblogic。
数日から動作させようとしていますが、うまくいきません。