轉載:http://m.educity.cn/wenda/584424.htmlhtml
驅動程序沒法經過使用安全套接字層(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。
雖然還不知道什麼緣由,可是問題總算解決了。。java