報錯描述
在使用新浪微博API時,eclipse中調試沒有問題,但是自己打的工程包卻出了問題,報錯如下:
WeiboException: RSA premaster secret error
at org.waddy.weibo.http.HttpClient.httpRequest(HttpClient.java:422)
...
Caused by: javax.net.ssl.SSLKeyException: RSA premaster secret error
at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.<init>(RSAClientKey
Exchange.java:99)
...
Caused by: java.security.NoSuchAlgorithmException: SunTlsRsaPremasterSecret KeyG
enerator not available
at javax.crypto.KeyGenerator.<init>(DashoA13*..)
問題原因
原因在於用Eclipse創建一個新的Java應用程序時,Eclipse會在build path添加$JAVA_HOME/jre/lib/ext目錄下的四個jar:dnsns.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar。
解決辦法
在你本地的jdk中找到上述jar包,放到你項目的lib目錄(classpath)下即可。