最近一个项目因为SQLServer从2008升级到了2016导致出现“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH keypair””的错误;
项目环境:jdk1.6 + tomcat7
看了很多篇关于这类问题的文章还有官方的文档(https://docs.microsoft.com/zh-cn/sql/connect/jdbc/connecting-with-ssl-encryption?view=sql-server-2016 ),但都解决不了;
首先,我是怀疑是因为升级了SQLServer,所以可能是驱动包版本的问题,但后来我用同样的驱动包和环境在其他机器缺并没有发生同样的错误,所以排除了驱动包的问题;
然后,根据错误提示“java.lang.RuntimeException: Could not generate DH keypair”的问题找到了文章 https://blog.csdn.net/cw_hello1/article/details/51740893
按照该文所说在jre的ext路径中添加了 bcprov-ext-jdk15on-1.54.jar和bcprov