往JDK里加入一个安全提供者以获取算法

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

默认情况下,Java包装有两个安全的提供者,SUN version 1.2 and SunRsaSign version 1.0. 前一个包含了一组算法,主要是“安全哈希算法”(SHE) 数字签名算法(DSA)和Java Key Store (JKS).

下面是一个简单程序。

import java.security.Provider;

import java.security.Security;

import java.util.Enumeration;

// List Security Providers and their Algorithms.

public class Providers {

static public void main(String[ ] args) {

Provider[ ] ps = Security.getProviders();

for(int i=0; i

System.out.println(""+ps[i]);

Enumeration enum = ps[i].keys( );

while(enum.hasMoreElements( )) {

System.out.println("

"+enum.nextElement( ));

}

)

)

)

输出如下:

SUN version 1.2

Alg.Alias.KeyFactory.1.2.840.10040.4.1

Alg.Alias.Signature.1.2.840.10040.4.3

Alg.Alias.KeyPairGenerator.OID.1.2.840.10040.4.1

Signature.SHA1withDSA KeySize

Signature.SHA1withDSA ImplementedIn

........ more algortihms ....

SecureRandom.SHA1PRNG ImplementedIn

Alg.Alias.Signature.SHA-1/DSA

AlgorithmParameterGenerator.DSA KeySize

SunRsaSign version 1.0

KeyFactory.RSA

Signature.MD5withRSA

Signature.SHA1withRSA

Signature.MD2withRSA

KeyPairGenerator.RSA

添加新的安全提供者是有可能的,但是依照加密技术规定的输入、输出原则,使用oBTaining算法必须小心。

Java CryptographyExtensions (JCE) 是一个拥有更多算法的供给包的例子。要安装JCE,把JAR或者zip文件放到classpath里面。然后安装JRE/JDK并修改一个叫做java.sercurity的文件,这个文件在'$JAVAHOME/lib/security'目录下。这个文件包含一些不同的安全设置,譬如提供者列表。

下面就是jdk1.3的提供者列表

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

security.provider.2=com.sun.rsajca.Provider

要把国际化的JCE加进去,只需要加上如下语句:

security.provider.3=au.net.aba.crypto.provider.ABAProvider

下次你运行Provider类时,一整个新的算法将会在ABA provider下得到。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航