驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server 建立安全连接

时间:2022-11-24 10:59:35

驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server 建立安全连接


A 项目,一两个月没折腾过,就放那边,某日增加了需求,改了些代码,结果测试时程序跑不动,连带原来的代码也跑不动,老是报上面的那个错误。



首先,怀疑是后面新增的代码对以前的代码产生影响。
          跑到同事机子上查看下旧代码,跑了下旧代码,没有问题。

其次,怀疑是数据库不通。
          运行另外一工程,此工程与本工程访问的是同一个数据库,同一个端口,能够正常运行。

再者,怀疑是环境问题。
          1. 更改一系列引用包,包的引用顺序,仍然报错。
          2. 抽取部份代码,新建一工程,还是报错。

最后,死马当活马医, 我换个新一点的驱动。这一换还是有效果的,虽然还是报错,但是给的错误信息多了点(关键一点)。
          
          这一点就是

           Caused  by :  java . security . NoSuchAlgorithmException :  SunTlsRsaPremasterSecret  KeyGenerator  not available
 at javax.crypto.KeyGenerator.<init>(DashoA13*..)
at javax
.crypto.KeyGenerator.getInstance(DashoA13*..)
at com
.sun.net.ssl.internal.ssl.JsseJce.getKeyGenerator(JsseJce.java:223)
at com
.sun.net.ssl.internal.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:89)... 22 more
          网上搜了下,一搜就搜到  * 上,原来有人跟我一样的错误,那人说是 Eclipse 安装的 JDK 的问题,把 JDK 删了重新装一下就OK ,确实是如此。

     PS:在重新安装 JDK 之前我切换成  myeclipse 自带的 sum jdk 能够运行,可以正常运行(没早发现啊)。

     PPS:参考的网页:  http://*.com/questions/2872520/suntlsrsapremastersecret-keygenerator-not-available
         Sql Server Driver download : http://www.microsoft.com/zh-cn/download/details.aspx?id=11774


     PPPS: 曾经也去搜这么一个错误信息   [org.springframework.jdbc.support.SQLErrorCodesFactory]-[INFO] SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase] 
          不过事实上,这次遇到的这问题跟  spring 没半毛钱关系。

          事实证明,这打印出来的错误信息很可能不是问题的源头啊,还有就是,多搜搜英文。