欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Bouncy Castle Java 平台轻量级密码术包

程序员文章站 2022-03-26 12:13:23
...

Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包。它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。因为 Bouncy Castle 被设计成轻量级的,所以从 J2SE 1.4 到 J2ME(包括 MIDP)平台,它都可以运行。它是在 MIDP 上运行的唯一完整的密码术包。

      

       Bouncy Castle的Java JCE安装方法

 

1、去官方站点下载Bouncy Castle的JCE Provider包 bcprov-ext-jdk15-145.jar
2、把jar文件复制到 $JAVA_HOME$\jre\lib\ext 目录下面
3、修改配置文件\jre\lib\security\java.security
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
#前面是java环境已经提供的,尾部加上这一行即可
security.provider.7=org.bouncycastle.jce.provider.BouncyCastleProvider
4、可以写个小程序查看本地java系统中安装的所有的JCE提供者,和一些相应算法。
可参考:http://free0007.iteye.com/blog/1985565
  1. import java.security.*;  
  2.   
  3. public class Check {  
  4.     public static void main(String[] args) {  
  5.         System.out.println("-------列出加密服务提供者-----");  
  6.         Provider[] pro = Security.getProviders();  
  7.         for (Provider p : pro) {  
  8.             System.out.println("Provider:" + p.getName() + " - version:" + p.getVersion());  
  9.             System.out.println(p.getInfo());  
  10.         }  
  11.         System.out.println("");  
  12.         System.out.println("-------列出系统支持的消息摘要算法:");  
  13.         for (String s : Security.getAlgorithms("MessageDigest")) {  
  14.             System.out.println(s);  
  15.         }  
  16.         System.out.println("-------列出系统支持的生成公钥和私钥对的算法:");  
  17.         for (String s : Security.getAlgorithms("KeyPairGenerator")) {  
  18.             System.out.println(s);  
  19.         }  
  20.     }  
  21. }  
相关标签: java