安装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
分享到:
相关推荐
解决org/bouncycastle/jce/provider/bouncycastlepr错误专用。
jar包,官方版本,自测可用
**Bouncy Castle简介** Bouncy Castle是一个开源的Java加密库,提供了广泛的加密算法、协议实现以及相关的工具。这个jar包是专门为Java开发者设计的,它弥补了Java标准加密API(如JCE)在某些功能上的不足,使得...
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.6.
** org.bouncycastle 加密算法包详解 ** `org.bouncycastle` 是一个开源的 Java 库,专门用于实现各种加密算法和相关的安全服务。它提供了广泛的加密功能,包括对称和非对称加密、数字签名、哈希函数、证书管理、...
此外,BouncyCastle的API设计遵循了Java Cryptography Architecture(JCA)和Java Cryptography Extension(JCE)的标准,使得其与其他加密库的集成变得更为顺畅。在实际项目中,开发者可以利用BouncyCastle提供的类...
在Java中,Bouncy Castle的`org.bouncycastle.jce.provider.BouncyCastleProvider`提供了一个强大的安全提供者,可以用来生成和管理RSA密钥对。在生成密钥对后,可以将其导出为PEM格式的字符串,如以下代码所示: `...
这个压缩包包含了Bouncy Castle库的不同组件,如X509证书处理、JCE(Java Cryptography Extension)、Crypto加密算法、Util工具类以及TLS(Transport Layer Security)协议支持。下面将详细阐述这些组件及其在IT领域...
Bouncy Castle 提供了丰富的加密算法、密钥生成器、证书处理以及PKI(Public Key Infrastructure,公钥基础设施)的相关功能,极大地扩展了Java标准加密库(JCE,Java Cryptography Extension)的功能。 Bouncy ...
因为 Bouncy Castle 被设计成轻量级的,所以从 J2SE 1.4 到 J2ME(包括 MIDP)平台,它都可以运行。它是在 MIDP 上运行的唯一完整的密码术包。 主要包括bcprov-ext-jdk16-145.jar和bcprov-jdk16-145.jar
标题提及的"bouncycastle jar包,版本: jdk15to18-1.73",是指针对Java 1.5至1.8版本的Bouncy Castle库的1.73版,提供了两个jar文件:bcprov-ext-jdk15to18-1.73.jar和bcprov-jdk15to18-1.73.jar。 1. **Bouncy ...
bouncy castle(轻量级密码术包)是一种用于 Java 平台的开放源码的轻量...因为 Bouncy Castle 被设计成轻量级的,所以从 J2SE 1.4 到 J2ME(包括 MIDP)平台,它都可以运行。它是在 MIDP 上运行的唯一完整的密码术包。
“bouncycastle.jar”是一个Java平台上的开源加密库,它的名字来源于一个历史悠久的英国城堡,寓意其在信息安全领域的坚固性。这个库主要用于实现各种密码学算法和协议,为Java开发者提供了强大的加密功能。 **描述...
bouncy castle(轻量级密码术包)是一种用于 Java 平台的开放源码的轻量级密码术包。它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。
其核心组件是一个名为“bcprov”的JAR包,即我们所关注的“bouncycastle.jar”。 Bouncy Castle jar包的主要特点: 1. **加密算法支持**:Bouncy Castle包含了大量加密算法,如RSA、AES、DES、Blowfish等传统对称...