java.security.InvalidKeyException 異常錯誤

今天作接口的時候 碰見這個問題,裝載cem,pfx等證書的時候:java

final char[] kp = HttpClientUtil.str2CharArray(keyPasswd);
		KeyManagerFactory kmf = KeyManagerFactory.getInstance(X509);
		KeyStore ks = KeyStore.getInstance(HttpClientUtil.PKCS12);
		ks.load(keyFileInputStream, kp);
		kmf.init(ks, kp);

在 ks.load的時候 報java.security.InvalidKeyException: Illegal key size 異常,錯誤找了很久,沒有發現是哪的緣由,由於 程序昨天的時候仍是好使的。code

因此就排除了是代碼的問題。接口

惟一不一樣的就是 運行的容器,jdk等環境問題。get

這樣最大的緣由就處在jdk上,本次使用的是jdk7,可是項目在編譯的時候用的版本是1.6 可能就是這個問題了,it

在將complier修改爲1.7後,也就是IDE 默認的jdk後,問題解決了。io

因此這個問題就多是 complier 的jdk版本和當前jdk的版本不一致的緣由,再次須要更新jdk下的一些文件,詳見一下連接:編譯

http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters
class

相關文章
相關標籤/搜索