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
原帖地址:/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
相关文章推荐
- Spring_加载beans.xml简单模拟
- eclipse下JSP环境的配置
- 轻量级JavaEE企业应用实战(三)
- Spring AOP 5种切面方式的应用(顶)
- spring AOP @AfterThrowing没有返回值的原因
- 关于myeclipse+maven(svn)的原本正确项目报红叉问题
- java中的@retention and @interface
- MyBatis学习七:spring和MyBatis整合、逆向工程
- Spring jdbcTemplat插入,查询
- java.lang.IllegalStateException: getOutputStream() has already been called for this response解决方案
- Java创建多线程的几种方法
- spring配置文件详解--真的蛮详细
- java关键字
- Java静态内部类的实例化问题
- java 接口和抽象
- Jdk1.8的安装
- Java国际化和Spring国际化比较
- 初识struts
- 使用Java匿名类直接实例化接口
- MyEclipse has detected that less than 5% of the 22MB of PS Survivor Space (Heap memory) space remain