2016-06-16 85 views
2

昨日から、ローカル開発マシンのMicroSoft SQLServer(v11.1.3000.0)にJBoss EAP 6.2から接続できません。 SQLServerはSSLを使用して接続しようとしています。SSLExceptionのためSQLServerに接続できません

私は次の例外を取得:私は、我々のテスト環境でのSQLServer(11.0.2100.60)に接続すると

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "java.lang.RuntimeException: Could not generate DH keypair". ClientConnectionId:da0dbbf4-33a0-45ac-9885-fa1e31c47c6e 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667) 
     at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1668) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1323) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991) 
     at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) 
     at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) 
     at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:260) 
     ... 28 more 
Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair 
     at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1708) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1691) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1222) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199) [jsse.jar:1.6] 
     at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1618) 
     ... 33 more 
Caused by: java.lang.RuntimeException: Could not generate DH keypair 
     at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:114) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:559) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:186) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:943) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188) [jsse.jar:1.6] 
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215) [jsse.jar:1.6] 
     ... 35 more 
Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive) 
     at com.sun.crypto.provider.DHKeyPairGenerator.initialize(DashoA13*..) [sunjce_provider.jar:1.6] 
     at java.security.KeyPairGenerator$Delegate.initialize(KeyPairGenerator.java:627) [rt.jar:1.6.0_45] 
     at com.sun.net.ssl.internal.ssl.DHCrypt.<init>(DHCrypt.java:107) [jsse.jar:1.6] 
     ... 42 more 

すべてが正常に動作します。私はからの回避策を試していないJava: Why does SSL handshake give 'Could not generate DH keypair' exception?

を:読んで私はJava 6のJRE で右JCEのLIBSを持っていることを確認しました - - - あるsqljdbc4.jar を更新 :私は次のようやった

上記の記事私はむしろSQLServerをSSLのデマイングからやめさせたいと思う。

SQLServerがSSL接続を要求しないようにするにはどうすればよいですか?または私の設定を修正しますか?そして、これはどうして起こるのでしょうか? SQLServerの自動アップデートはありましたか?

答えて

2

今日も同じ問題が発生しました。 Javaアプリケーションとの接続(火曜日の作業)、今日は同じアプリケーションを使用できません(木曜日)。私はWindows 10に自動ソフトウェアアップデートをインストールしており、Microsoft SQL Server 2014(2014 Express 12.0.2000.8)を実行しています。私はプロトコル(SQL Server構成マネージャー> SQL Serverネットワーク構成> SQLEXPRESS(プロパティ)のプロトコル。強制暗号化= "いいえ")を確認しました。 Windows KB3163018をロールバックしてコンピュータを再起動し、接続できました。

5

私は今朝同じ問題を抱え、いくつかの単体テストが失敗し始めました。私は1.6 JDKを使ってプロジェクトをコンパイルしていたことに気がつき、1.7.0_79に変更して問題を解決しました。

問題の根本原因が何であるか分かりませんが、さらに調査する時間がありませんでした。

関連する問題