2016-08-31 41 views
0

WebアプリケーションからダウンロードしたJNLPを起動しています。 Javaセキュリティ警告プロンプトが表示された後、ユーザーの応答が2〜3秒以内に実行されると、アプリケーションは正常に実行されます。ユーザーがJavaのセキュリティ警告のプロンプトに応答するために3秒以上かかった場合は、アプリケーションは以下のソケット例外とエラーで実行に失敗:追加javax.net.ssl.SSLHandshakeException:ハンドシェイク中のリモートホストクローズ接続

javax.net.ssl.SSLHandshakeException: Remote host closed connection during 

handshake 
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake 

(SSLSocketImpl.java:1312) 
    at sun.security.ssl.SSLSocketImpl.startHandshake 

(SSLSocketImpl.java:1339) 
    at sun.security.ssl.SSLSocketImpl.startHandshake 

(SSLSocketImpl.java:1323) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect 

(HttpsClient.java:563) 
    at 

sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect 

(AbstractDelegateHttpsURLConnection.java:185) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream 

(HttpURLConnection.java:1300) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream 

(HttpsURLConnectionImpl.java:254) 
    at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.checkUpdateAvailable 

(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.isUpdateAvailable(Unknown 

Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker 

(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run 

(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.io.EOFException: SSL peer shut down incorrectly 
    at sun.security.ssl.InputRecord.read(InputRecord.java:482) 
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927) 
    ... 19 more 

Java Security Warning

Exception

Info:ポートをチェックして、正しいポート番号を指していて、TLS値も一致しています。証明書はcacertsの下にも追加されました。

質問:セキュリティプロンプトへの応答が3〜5秒を超えると、例外が発生する原因は何ですか?上記の例外を回避するにはどうすればいいですか?

アクション完了: 1. TomcatコネクタにconnectionTimeout属性を追加します。ただし、Javaセキュリティ警告に応答するのに5秒間待ってもアプリケーションはまだ起動できません。

+0

のためのコースのJRE1.8にJRE1.7から切り替え –

答えて

1

これは、https.protocolsシステムプロパティによって最も簡単に制御されます。これは、ファクトリメソッドが返すものを制御する方法です。たとえば、 "TLSv1"に設定します。

2つのプロトコルを1つではなく2つ使用したい場合、問題が発生します。たとえば、SSLv3とTLSv1です。この-Dhttps.protocols = TLSv1、SSLv3は、SSLv3またはTLSv1のいずれかを接続しようとすると例外になります。

この回答を確認してください。私は同じ問題に直面していた How to make Java 6, which fails SSL connection with "SSL peer shut down incorrectly", succeed like Java 7?

0

、私はあまりにもあなたにSSL設定を投稿してください理由TLS1.2 More references

関連する問題