虽然JDK1.4将java安全包包含在核心库中,但如果不对jce进行配置,也没办法使用jce进行开发。
首先从sun网上下载jce1.2.2(我在网上看到的都是下载一个包,没用sun默认的),然后把解压得到的lib里面的所有jar文件拷到your_jdk\jre\lib\ext(your_jdk为你的jdk安装目录),编辑your_jdk\jre\lib\security\java.policy文件,在最后加上
grant codeBase"file:${java.home}/lib/ext/sunjce_provider.jar"{
permission java.io.FilePermission
"file:${java.home}/lib/ext/sunjce_provider.jar","read";
permission java.lang.RuntimePermission
"getProtectionDomain";
permission java.security.SecurityPermission
"putProviderProperty.SunJCE";
};
给sunjce_provider授予访问权限
your_jdk\jre\lib\security\java.security里面配置了可选的provider类型,这里用默认配置就行了。(这里的provider也可由用户自己用别的厂商提供的包替换,我不是太清楚怎么作)。
由于我是用Jbuilder开发,必须加上对相关库的链接。所以就在Project下面的properties的library设置里面加上对jce1_2_2.jar、sunjce_provider.jar的引用,配置完毕之后,就可以进行JCE相关的程序编写了。
我用jce写了一个des加解密的小程序,不知道为什么,运行起来很慢。感觉是装载provider花时间。偶N不了解为什么sun会用provider这种安装组件的方式,很麻烦,也很没必要。我在eclipse下配置了半天都没弄好,郁闷死了。