?
安装BouncyCastle JCE<!----><o:p></o:p>
安装BouncyCastle JCE应该按照如下步骤:<o:p></o:p>
1)下载提供者<o:p></o:p>
如上,BouncyCastle可以从www.bouncycastle.org下载,下载后请将它解<o:p></o:p>
压缩。<o:p></o:p>
2)将JAR文件拷贝到适当位置<o:p></o:p>
如果想让JCE类可以被所有的JAVA应用程序使用,我们需要把JAR文件安装为一个扩展。BouncyCastle提供者没有用于安装为扩展的JAR文件,但它容易构建。首先将下载的文件展开到JDK的classes目录下,然后运行下面的命令将这些文件打包:<o:p></o:p>
c:\> jar cvf bouncycastle.jar javax org<o:p></o:p>
在Windows中,Java通常安装在两个目录下。一个目录用于开发,包括所有的JDK工具,另一个仅仅是运行环境。JDK本身通常位于c:\jdk1.3这样的目录下,而JDK运行环境通常位于c:\Program files\JavaSoft\JRE1.3这样的目录下,它们都有库的扩展目录。分别是:c:\jdk1.3.1\lib\ext和c:\Program files\JavaSoft\JRE\1.3\lib\ext,把所要的JAR文件放于对应的目录下。<o:p></o:p>
3)配置安全属性文件<o:p></o:p>
安全属性文件java.security位于和\lib\ext平行的另一个目录\lib\security下,它定义了当前可以使用的加密提供者。如您看到下面的语句:<o:p></o:p>
security.provider.1=sun.security.provider.Sun<o:p></o:p>
security.provider.2=com.sun.rsajca.Provider<o:p></o:p>
它表明本虚拟机有两个加密提供者以及他们的优先级和访问时使用的名称。当需要用到一个加密算法时,虚拟机会依次访问这里列出的提供者,寻找想要的算法,并按这里的优先级顺序使用第一个找到的算法。<o:p></o:p>
我们应该在文件中插入如下行,把新的提供者加入进去:<o:p></o:p>
security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider<o:p></o:p>
当然了,你也可以将前面的加密提供者配置删除,这样就不能使用jdk默认的加密提供者了。<o:p></o:p>
4)测试安装好的程序<o:p></o:p>
我们可以自己写一个测试程序(用JCE包的API),来判断我们的安装是否成功。<o:p></o:p>
安装成功了,让我们进入用BouncyCastle JCE实现安全功能的有趣天地吧!
分享到:
相关推荐
在Java中,Bouncy Castle的`org.bouncycastle.jce.provider.BouncyCastleProvider`提供了一个强大的安全提供者,可以用来生成和管理RSA密钥对。在生成密钥对后,可以将其导出为PEM格式的字符串,如以下代码所示: `...
标题提及的"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 ...
例如,如果你需要创建一个RSA密钥对,可以使用`org.bouncycastle.jce.provider.BouncyCastleProvider`作为安全提供者,然后调用`KeyPairGenerator`的相关方法。对于数据加密解密,可以通过`Cipher`类,指定对应的...
BouncyCastle库提供了`org.bouncycastle.jce.provider.BouncyCastleProvider`类,它是Java加密服务提供者,包含了国密算法的支持。为了使用它,需要在代码中添加以下行: ```java Security.addProvider(new ...
import org.bouncycastle.jce.provider.BouncyCastleProvider; // 添加Bouncy Castle提供商 Security.addProvider(new BouncyCastleProvider()); // 创建AES密钥 SecretKey key = KeyGenerator.getInstance...
代码可能会使用Bouncy Castle库中的类,如`org.bouncycastle.jce.provider.BouncyCastleProvider`,来实现RSA算法的功能。 为了进一步理解这个程序,你需要阅读并分析RSA.txt中的代码。如果你不熟悉Java或加密算法...
这个库是Bouncy Castle提供的,Bouncy Castle是一个著名的开源密码学软件项目,提供了大量的加密算法、协议实现以及相关的工具。"jdk15on"表示这个版本适用于Java 1.5及以上版本。 Bouncy Castle库分为两部分:...
然后,通过Java Cryptography Extension (JCE) API来调用Bouncy Castle提供的加密服务。 5. **安全性** 由于加密技术的快速发展,保持库的更新非常重要。定期升级到最新版本的Bouncy Castle可以帮助抵御新的安全...
在Android平台上,由于默认的Java Cryptography Extension (JCE)有一些限制,如不能处理高强度的加密算法,Bouncy Castle就成为了一个理想的替代方案。 首先,我们需要下载Bouncy Castle的jar包,这里我们看到的...
2. **生成密钥对**:使用BouncyCastle的`ECKeyPairGenerator`生成SM2密钥对。 3. **加密和解密**:使用密钥对进行加密和解密操作。 ### 2. SM3 哈希函数 **SM3** 是一种密码学哈希函数,类似于SHA-256,但具有中国...
总的来说,Java提供了丰富的库和API来支持信息安全的开发,包括JCE、Bouncy Castle Provider以及其他相关的工具类和接口。开发者需要掌握这些工具的使用,同时了解信息安全的基本理论,才能有效地构建安全的应用程序...
在Java中实现OpenPGP的加解密功能,通常需要依赖BouncyCastle库,这是一个强大的加密工具包,包含了对OpenPGP的支持。 在开始之前,需要下载并安装两个关键的BouncyCastle JAR包:`bcprov-jdk15on`和`bcpg-jdk15on`...
另一方面,“bcprov-jdk15on-154.jar”是Bouncy Castle提供的一个Java加密库,它提供了广泛的加密算法,包括对称加密、非对称加密、数字签名以及消息摘要算法。Bouncy Castle库特别适合处理更高级的密码学需求,比如...
3. **BCryptprov-jdk16-146.jar**:这个文件是Bouncy Castle提供的Java Cryptography Extension (JCE)提供者。Bouncy Castle是一个开放源代码的安全库,它提供了许多加密算法,包括AES。在使用WinZipAES时,可能需要...
此外,还需要引入几个第三方库,如bcprov-jdk16-146.jar(Bouncy Castle加密库),commons-codec-1.9.jar和commons-lang3-3.0.1.jar,以支持加密和解密操作。 4. **加密和解密的互操作性**:在ABAP和JAVA之间进行...
import org.bouncycastle.jce.provider.BouncyCastleProvider; ``` 注意,如果使用了BouncyCastle提供者,需要先添加到JVM中,因为它包含了更强大的加密功能。 2. 创建KeyPairGenerator实例并初始化: ```java ...
import org.bouncycastle.jce.provider.BouncyCastleProvider; Security.addProvider(new BouncyCastleProvider()); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding", "BC"); SecretKeySpec ...
在某些情况下,为了使用Bouncy Castle提供的特定功能,可能需要将其jar文件(如`bcprov-jdk15on-xx.x.x.jar`)加入到项目的类路径中。 4. **其他辅助库**:SSH2的实现可能还需要一些辅助库,例如处理ASN.1编码的库...
总的来说,该博客文章通过`RSAEncrypto.java`和`RSADecrypto.java`文件提供了使用Java进行RSA加密解密和签名验证的示例代码,涵盖了Sun JCE库和Bouncy Castle库的使用,这对于理解RSA加密机制和实践Java安全编程非常...