- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
从昨天开始,我无法从 JBoss EAP 6.2 连接到我本地开发机器上的 MicroSoft SQLServer (v11.1.3000.0)。 SQLServer 现在想要使用 SSL 进行连接。
我得到以下异常:
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
当我在我们的测试环境中连接到 SQLServer (11.0.2100.60) 时,一切正常。
我做了以下事情:- 确保我的 Java 6 JRE 中有正确的 JCE 库- 更新了 sqljdbc4.jar- 阅读:Java: Why does SSL handshake give 'Could not generate DH keypair' exception?
我还没有尝试过上面文章中的解决方法。我宁愿阻止 SQLServer 要求 SSL。
如何阻止 SQLServer 要求 SSL 连接?或者修复我的配置?这怎么可能发生? SQLServer 有自动更新吗?
最佳答案
今天早上我遇到了同样的问题,一些单元测试开始失败。我注意到我正在使用 1.6 JDK 编译项目,将其更改为 1.7.0_79 后问题就消失了。
虽然不确定问题的根本原因是什么,但还没有时间进一步调查。
关于java - 由于 SSLException 无法连接到 SQLServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37855449/
在 Android Studio 中,当我尝试通过 SDK 管理器更新大型 SDK 时,我不断收到以下错误: SSLException: Connection has been shutdown:
我只是集成 Frimi 支付网关。第一步我尝试生成访问 token ,生成 token 后将调用支付链接。但我收到错误:- SSLException:连接已被对等方关闭。 public void
我发布了 this issue我可以解决它从 WebLogic startups 参数中删除下一个: -Djsse.enableSNIExtension=false 谁能解释一下? 最佳答案 参数 -
我的类(class)有一个简短的任务,即扩展一个简单的 Java 服务器以在 Ubuntu 上支持 SSL。 好的,首先,我这样做了: 私有(private)静态 SSLServerSocketFac
我打算为 Android 应用程序使用 GCM 功能。我设置了正确的 Android 应用程序和部署在本地主机上的后端服务。 一切都很好,通知显示在我的测试设备上。接下来我尝试将服务部署到具有真实 I
所以我想通过 https 测试一下。问题是我得到这个: Error getting response; javax.net.ssl.SSLException Received Fatal alert:
我将我的文件从 android 上传到 aws 服务。我是这样配置的: AwsMetadata awsMetadata = resultData.getParcelable(Params.Comm
我尝试向 Web 服务发送 https 请求,在几次成功尝试后,我开始不断收到此错误。这个错误是什么意思,为什么它会在第一次发生。 javax.net.ssl.SSLException: java.l
我是 React Native 的新手,一直在尝试一两个示例。当我尝试在我的 Mac 上构建 Android“电影”示例时,出现以下错误: ./gradlew :Examples:Movies:and
这个问题已经有答案了: javax.net.ssl.SSLException: Received fatal alert: protocol_version (15 个回答) 已关闭 7 年前。 我试
我正在尝试在 Android 客户端上使用自定义证书实现 SSL 连接。如果我尝试使用我编写的普通 Java 程序连接到同一台服务器(我在其中使用系统参数导入 keystore ),一切正常。此外,如
当我向 Google 云消息传递中心发送新的推送通知时,有时会出现问题。我正在使用可用的 Google 库 here .我正在使用 Tomcat 7.0.35 和 bouncycaSTLe 1.46。
我需要在服务器启动时使用 jax-rs 访问 https URL 以获取一些唯一的 session key 。但是,一旦 session 过期,我将再次触发对该 URL 的点击并取回我的 sessio
我正在使用 Android-Query 进行 HTTP 调用,并且不断收到随机的 SSLExceptions,如下所示: AQuery(7746): javax.net.ssl.SSLExceptio
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: SSL handshake alert: unrecognized_name error since upg
从昨天开始,我无法从 JBoss EAP 6.2 连接到我本地开发机器上的 MicroSoft SQLServer (v11.1.3000.0)。 SQLServer 现在想要使用 SSL 进行连接。
我正在创建一个 web 项目..我已经为此配置了 jdbc 领域..我需要将 java servlet 连接到 mysql 数据库.. private static String JDBC_DRIVE
当使用 Android 的 HttpUrlConnection 库发出 HTTPS 请求时,我有时会看到抛出以下异常: javax.net.ssl.SSLException: SSL handshak
我一直在使用以下代码连接到谷歌的一项服务。这段代码在我的本地机器上运行良好: HttpClient client=new DefaultHttpClient(); HttpPost post = ne
我有一个 Spring Boot 后端项目。我想使用我的 ssl 证书。 这是我的 application.properties 文件。 我使用 mycert.cert 和 mycert.key 创建
我是一名优秀的程序员,十分优秀!