| Gzu521.com学习网 |
|
java密码扩展(the java cryptography extension),是jdk1.4的一个重要部分,基本上,他是由一些包构成的,这些包形成了一个框架并实现了一些加密,密钥生成算法和协议,消息认证码等算法,这篇文章将想你介绍jce的安装和使用。 值得注意的是,尽管jce是jdk1.4的核心包的一部分,我们将首先用jdk1.2及高一点的版本向你演示一下如果安装配置jce(静态安装)。稍后,将向你介绍如何在不安装的情况下使用jce(动态安装)。最后,将演示怎么生成密钥和密码,及如果进行基本的加密.解密。!v;}=A [此资料转贴于学习网IT认证JAVA认证 ]www.Gzu521.com!v;}=A 提供者是什么? 提供者是特定加密算法的实现者,有的提供者(提供的加密技术)是免费的,有的不免费,ibm, bouncy castle, 和 rsa都是一些(加密)提供者.在本文的后面,我们将考察一下来自bouncy castle的rsa算法。sun 也向大家说明了如果实现自己的提供者(需要符合jdk的一些约定)。 静态安装 在安装和使用jce之前,你需要从 sun web site(这里是以暗中sun的提供者为例).获得他的安装包,jce有sun他自己的安全提供者-sunjce,为了吧sunjce静态的安装到默认的提供者列表中,你需要修改安全属性文件: • <java-home>\jre\lib\security\java.security (win32) • <java-home>/jre/lib/security/java.security (unix) 如果你把jdk安装在c:\jdk1.3,你需要编辑以下文件: c:\jdk1.3\jre\lib\security\java.security 为了安装sunjce,你需要在以上文件中加入: security.provider.n=com.sun.crypto.provider.sunjce 把n用你加入的提供者的优先级代替(注意:序号要保持递增,不能跳过,但可以调整前后顺序)。 listing a 用于查看你安装过的提供者的信息,结果在listing b中列出,显示提供者的能力,比如说可用的加密算法。 listing a: providerinformation.java import java.security.provider; import java.security.security; import java.util.set; import java.util.iterator; public class providerinformation { public static void main(string[] args) { provider[] providers = security.getproviders(); for (int i = 0; i < providers.length; i++) { provider provider = providers[i]; system.out.println("provider name: " + provider.getname()); system.out.println("provider information: " + provider.getinfo()); system.out.println("provider version: " + provider.getversion()); set entries = provider.entryset(); iterator iterator = entries.iterator(); while (iterator.hasnext()) { system.out.println("property entry: " + iterator.next()); } } } } |
责任编辑:gzu521