您的位置:首页 > 编程语言 > Java开发

Java使用密钥库相关问题(AES加密)

2015-12-15 16:11 671 查看
按照网上帖子使用AES加密的时候显示new BouncyCastleProvider()找不到

原帖地址:/article/3489634.html

我去官网下载了适用的版本bcprov-jdk15on-153.jar

下载地址:http://www.bouncycastle.org/java.html

在右上角有个Java Release 1.53 is now available for download ->下方的latest releases

然后build path之后终于没有说找不到相关类,但是出现如图错误



java.lang.SecurityException: The jurisdiction policy files are not signed by a trusted signer!

主要是因为加密文件的版本和jdk的版本加密文件不相同。查看主类(local_policy.jar,US_export_policy.jar)和jdk的加密文件的版本不相同。

参考文章:http://m.oschina.net/blog/279731

local_policy.jar和US_export_policy.jar下载地址(注意jdk版本要对应)

jdk6

http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

JDK7

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

JDK8

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

如果还有问题,那么试试下面方法

配置安全属性文件

安全属性文件java.security位于和/lib/ext平行的另一个目录/lib/security下,它定义了当前可以使用的加密提供者。找到如下内容:

security.provider.1=sun.security.provider.Sun

security.provider.2=sun.security.rsa.SunRsaSign

它表明本虚拟机有两个加密提供者以及他们的优先级和访问时使用的名称。当需要用到一个加密算法时,虚拟机会依次访问这里列出的提供者,寻找想要的算法,并按这里的优先级顺序使用第一个找到的算法。我们应该在文件中插入新的提供者例如:

security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: