javax.crypto.spec.SecretKeySpec

为什么80%的码农都做不了架构师?>>>   hot3.png

今天做接口遇到一个棘手的问题,就是接口传 数据需要AES加密,我在本地(windows)调试已经已经成功了,可是发布到服务器(Linux)上面老是出现java.security.InvalidKeyException: No installed provider supports this key: javax.crypto.spec.SecretKeySpec 本以为是jdk 的问题(本地用jdk1.6 服务器用jdk1.5 ),可以经过排除不是。以下是解决此问题的方法(此方法不能保证一定处理类似的问题):

到Linux上面修改jdk1.5的安全文件,使其支持AES/CTR/PKCS5Padding的填充方式。
1) 将bcprov-jdk15-141.Jar分别复制到下列路径
/usr/java/jdk1.5.0_06/jre/lib
/usr/java/jdk1.5.0_06/jre/lib/ext/
2) 修改/usr/java/jdk1.5.0_06/jre/lib/security/java.Security文件
   在文件最后添加以下内容
security.provider.1=sun.security.provider.Sun
security.provider.2=com.sun.net.ssl.internal.ssl.Provider
security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider

转载于:https://my.oschina.net/lupeng/blog/370064

你可能感兴趣的:(javax.crypto.spec.SecretKeySpec)