转载:http://m.educity.cn/wenda/584424.html
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接 错误解决办法
用java连接sqlserver2005时总是出现下面这个错误
June 13, 2012 10:05:34 AM com.microsoft.sqlserver.jdbc.TDSChannel enableSSL 信息: java.security path: C:\Java\jre6\lib\security Security providers: [SUN version 1.6, SunRsaSign version 1.5, SunJSSE version 1.6, SunJGSS version 1.0, SunSASL version 1.5, XMLDSig version 1.0, SunPCSC version 1.6] SSLContext provider info: Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1) SSLContext provider services: [SunJSSE: KeyFactory.RSA -> sun.security.rsa.RSAKeyFactory aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1] , SunJSSE: KeyPairGenerator.RSA -> sun.security.rsa.RSAKeyPairGenerator aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1] , SunJSSE: Signature.MD2withRSA -> sun.security.rsa.RSASignature$MD2withRSA aliases: [1.2.840.113549.1.1.2, OID.1.2.840.113549.1.1.2] , SunJSSE: Signature.MD5withRSA -> sun.security.rsa.RSASignature$MD5withRSA aliases: [1.2.840.113549.1.1.4, OID.1.2.840.113549.1.1.4] , SunJSSE: Signature.SHA1withRSA -> sun.security.rsa.RSASignature$SHA1withRSA aliases: [1.2.840.113549.1.1.5, OID.1.2.840.113549.1.1.5, 1.3.14.3.2.29, OID.1.3.14.3.2.29] , SunJSSE: Signature.MD5andSHA1withRSA -> co.ssl.internal.ssl.RSASignature , SunJSSE: KeyManagerFactory.SunX509 -> co.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509 , SunJSSE: KeyManagerFactory.NewSunX509 -> co.ssl.internal.ssl.KeyManagerFactoryImpl$X509 , SunJSSE: TrustManagerFactory.SunX509 -> co.ssl.internal.ssl.TrustManagerFactoryImpl$SimpleFactory , SunJSSE: TrustManagerFactory.PKIX -> co.ssl.internal.ssl.TrustManagerFactoryImpl$PKIXFactory aliases: [SunPKIX, X509, X.509] , SunJSSE: SSLContext.SSL -> co.ssl.internal.ssl.SSLContextImpl , SunJSSE: SSLContext.SSLv3 -> co.ssl.internal.ssl.SSLContextImpl , SunJSSE: SSLContext.TLS -> co.ssl.internal.ssl.SSLContextImpl , SunJSSE: SSLContext.TLSv1 -> co.ssl.internal.ssl.SSLContextImpl , SunJSSE: SSLContext.Default -> co.ssl.internal.ssl.DefaultSSLContextImpl , SunJSSE: KeyStore.PKCS12 -> co.ssl.internal.pkcs12.PKCS12KeyStore ] java.ext.dirs: C:\Java\jre6\lib\ext;C:\Windows\Sun\Java\lib\ext com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“RSA premaster secret error”。 at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1352) at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1533) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1042) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700) at com.microsoft.sqlserver.jdbnnect(SQLServerDriver.java:842) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at ConnDB.main(ConnDB.java:14)
在网上查阅资料,发现有人说是jdbc驱动包的问题,但是换了驱动包之后问题依然没解决。。
后来把我的window-〉preference-〉java-〉install JREs换成jre6之后,问题就解决了。。
我原来用的是jdk,目录在C:\Program Files\Java\jdk1.6.0_25,改成jre的目录是C:\Program Files\Java\jre6。
虽然还不知道什么原因,但是问题总算解决了。。 |