BouncyCastle JCE 的安装

  安装BouncyCastle JCE应该按照如下步骤: 

1)下载提供者 

BouncyCastle可以从www.bouncycastle.org下载,下载后请将它解压缩。 


(http://www.bouncycastle.org/latest_releases.html 下载crypto-145.zip) 

2)将JAR文件拷贝到适当位置 

如果想让JCE类可以被所有的JAVA应用程序使用,我们需要把JAR文件安装为一个扩展。BouncyCastle提供者没有用于安装为扩展的JAR类型的文件,但它容易构建。首先将下载的文件展开到JDK的classes目录下(如,将下载的crypto-145.zip解压后,将其中的各文件放入新建的classes文件夹中),然后运行下面的命令将这些文件打包: 

首先用cd命令进入classes目录 

再c:\...\classes\> jar cvf bouncycastle.jar */. 

这样就在classes文件夹中创建的bouncycastle.jar文件。 

在Windows中,Java通常安装在两个目录下。一个目录用于开发,包括所有的JDK工具,另一个仅仅是运行环境。JDK本身通常位于c:\jdk1.6这样的目录下,而JDK运行环境通常位于c:\Program files\JavaSoft\JRE1.6这样的目录下,它们都有库的扩展目录。分别是:c:\jdk1.6.0\jre\lib\ext和c:\Program files\JavaSoft\JRE\1.6\lib\ext,把所要的JAR文件放于对应的目录下(两个目录都要放)。 

3)配置安全属性文件 

安全属性文件java.security位于和\lib\ext平行的另一个目录\lib\security下,它定义了当前可以使用的加密提供者。如您看到下面的语句: 

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

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

它表明本虚拟机有两个加密提供者以及他们的优先级和访问时使用的名称。当需要用到一个加密算法时,虚拟机会依次访问这里列出的提供者,寻找想要的算法,并按这里的优先级顺序使用第一个找到的算法。 

我们应该在文件中插入如下行,把新的提供者加入进去(两个java.security都要加入): 

security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider 

注意大小写 

当然了,你也可以将前面的加密提供者配置删除,这样就不能使用jdk默认的加密提供者了。 

4)测试安装好的程序 

我们可以自己写一个测试程序JCEInstallTest .java(用JCE包的API),来判断我们的安装是否成功。程序内容如下:

import javax.crypto.*; 

  

public class JCEInstallTest{ 

public static final String stringToEncrypt="This is a test."; 

public static void main(String[] args) throws Exception{ 

  

System.out.print("Attempting to get a Blowfish key..."); 

KeyGenerator keyGenerator=KeyGenerator.getInstance("Blowfish"); 

keyGenerator.init(128); 

SecretKey key=keyGenerator.generateKey(); 

System.out.println("OK"); 

  

System.out.println("Attempting to get a Cipher and encrypt..."); 

Cipher cipher=Cipher.getInstance("Blowfish/ECB/PKCS5Padding"); 

cipher.init(Cipher.ENCRYPT_MODE,key); 

  

byte[] cipherText=cipher.doFinal(stringToEncrypt.getBytes("UTF8")); 

System.out.println("OK"); 

  

System.out.println("Test completed successfully."); 





编译:Javac JCEInstallTest.java 无错 
运行:Java JCEInstallTest  出结果 
即证明bouncycastle jce安装配置正确。 



本文来自CSDN博客,出处:http://blog.csdn.net/sx1116/archive/2010/08/19/5823677.aspx
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装 Bouncy Castle 是相对简单的过程,您只需要遵循以下步骤即可: 1. 访问 Bouncy Castle 官方网站:https://www.bouncycastle.org/ 2. 点击下载页面中的 “Downloads” 链接,然后选择您需要的版本,例如 “Bouncy Castle Provider 1.68” 。 3. 下载适合您操作系统的版本。 4. 解压下载的压缩包,您会发现其中包含了一个 JAR 文件。 5. 将该 JAR 文件添加到您的 Java 项目中,以便您可以使用 Bouncy Castle 提供的安全功能。具体方法取决于您使用的构建工具,但通常包括以下步骤: a. 在您的项目中创建一个名为 “lib” 的目录(如果您没有这样做)。 b. 将下载JAR 文件复制到这个目录中。 c. 在您的项目设置中添加对该 JAR 文件的引用。 6. 完成以上步骤后,您就可以使用 Bouncy Castle 提供的安全功能了。例如,在 Java 中使用 Bouncy Castle 加密数据的示例代码如下: ``` import org.bouncycastle.jce.provider.BouncyCastleProvider; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.security.Security; public class BouncyCastleExample { public static void main(String[] args) throws Exception { Security.addProvider(new BouncyCastleProvider()); byte[] key = "0123456789abcdef".getBytes(); byte[] iv = "fedcba9876543210".getBytes(); byte[] plaintext = "Hello, world!".getBytes(); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding", "BC"); SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); IvParameterSpec ivSpec = new IvParameterSpec(iv); cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec); byte[] ciphertext = cipher.doFinal(plaintext); System.out.println(new String(ciphertext)); } } ``` 希望这可以帮助您安装和使用 Bouncy Castle 库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值