默认情况下,Java包装有两个安全的提供者,SUN version 1.2 and SunRsaSign version 1.0. 前一个包含了一组算法,主要是“安全哈希算法”" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

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

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 默认情况下,Java包装有两个安全的提供者,SUN version 1.2 and SunRsaSign version 1.0. 前一个包含了一组算法,主要是“安全哈希算法”

<?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 


  默认情况下,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下得到。
  
  
  
  
  


  
精彩图集

赞助商链接