1.安装bouncycastle.jar文件
找到该文件,并执行以下两步:
(1)将该文件拷贝到jdk1.3.1\jre\lib\ext\目录下
(2)将该文件拷贝到c:\programfiles\JavaSoft\JRE\1.3\lib\ext目录下。
注意,以上两步均要完成,少一不可。
2.配置java.security文件
首先要找到以下两个文件:
(1)jdk1.3.1\jre\lib\security\java.security文件
(2)c:\programfiles\JavaSoft\JRE\1.3\lib\security\java.security
打开以上两个文件,并找到这样的语句:
security.provider.1=sun.security.provider.Sun
security.provider.2=com.sun.rsajca.provider
在上面语句的后面加上如下语句:
security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider
要注意的是:
(1)两个文件中都要改。
(2)大小写不能有错。
3.安装正确与否的测试
看是否有JCEInstallTest.java程序,分两种情况:
(1)有该程序
您对它进行编译并运行。如下:
a.javac JCEInstallTest.java
b.java JCEInstallTest
注意大小写,如果产生了输出,则说明安装正确。否则按前面的步骤检查错误。
(2)没有该程序
则您可以从本文档中拷贝一份本程序,在按照有该程序的情况来进行编译运行。
JCEInstallTest.java程序的代码如下:
**************************JCEInstallTest.java***************************
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.");
}
}
****************************JCEInstallTest.java*************************
分享到:
相关推荐
例如,如果需要进行RSA加密,可以使用`org.bouncycastle.jce.provider.BouncyCastleProvider`类创建一个新的安全提供者,然后使用Java的`Cipher`类进行加密操作。 ### 示例代码 ```java import org.bouncycastle....
标题提及的"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 ...
其核心组件是一个名为“bcprov”的JAR包,即我们所关注的“bouncycastle.jar”。 Bouncy Castle jar包的主要特点: 1. **加密算法支持**:Bouncy Castle包含了大量加密算法,如RSA、AES、DES、Blowfish等传统对称...
在Java项目中,引入Bouncy Castle通常需要将这两个jar文件添加到类路径中,并通过配置JCE提供者来启用它。例如,可以通过以下代码将Bouncy Castle注册为安全提供者: ```java Security.addProvider(new ...
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider ``` 这里的数字10表示Bouncy Castle在提供者列表中的位置,数字越小优先级越高。如果已有其他提供者,你需要根据实际情况调整这个数字...
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider ``` 这里的数字10表示Bouncy Castle被添加为第10个安全提供者。如果已有更多的提供者,应将数字相应地调整为更大的值,以保持提供者的...
import org.bouncycastle.jce.provider.BouncyCastleProvider; // 注册Bouncy Castle Provider Security.addProvider(new BouncyCastleProvider()); // 创建AES Cipher Cipher cipher = Cipher.getInstance("AES/...
import org.bouncycastle.jce.provider.BouncyCastleProvider; // 添加Bouncy Castle提供商 Security.addProvider(new BouncyCastleProvider()); // 创建AES密钥 SecretKey key = KeyGenerator.getInstance...
《BCFipsIn100_bouncycastle_》这本书主要关注的是Bouncy Castle库在Java环境中的应用。Bouncy Castle是一个广泛使用的开源密码学库,它提供了大量的加密算法、协议和实用工具,使得开发者能够方便地在Java和.NET...
描述中提到的问题“java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider”是一个常见的Java运行时错误,通常表示在程序运行时找不到某个类的定义。在这个特定情况下,系统无法找到...
BouncyCastle库提供了`org.bouncycastle.jce.provider.BouncyCastleProvider`类,它是Java加密服务提供者,包含了国密算法的支持。为了使用它,需要在代码中添加以下行: ```java Security.addProvider(new ...
1. **未正确安装或配置Bouncy Castle**:确保Bouncy Castle的JAR文件已经添加到类路径中,并且在Java安全属性文件(`java.security`)中指定了它作为安全提供者。 2. **证书问题**:Java可能无法验证Bouncy Castle...
Bouncy Castle是一个开源的Java加密库,它扩展了Java Cryptography Extension (JCE) 和 Java Cryptography Architecture (JCA),提供了更多的加密算法、密钥协议和证书格式支持。 这两个JAR文件分别针对Java ...
默认情况下,Java SDK仅支持有限的加密强度,但通过安装像Bouncy Castle这样的第三方JCE提供商,可以支持更强大的加密功能,尤其对于出口限制的国家和地区。 **bcprov-jdk15on-1.67.jar** 这个文件是Bouncy Castle...
Bouncy Castle Provider包含了许多Java标准加密API(如JCE和JSSE)未提供的额外加密算法。 综上所述,这些文件组合在一起提供了Bouncy Castle的邮件安全组件及其构建信息,适用于使用Java 1.4环境的项目,并且可以...
标题中的"bcprov-jdk16-1.46.jar"是一个Java的库文件,它属于Bouncy Castle项目,提供了一套广泛使用的加密算法和安全服务。Bouncy Castle是Java平台上的一个开源加密库,提供了对多种加密标准的支持,如RSA、AES、...
keytool -importcert -keystore tclientapi.bks -file api.cert -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -alias api 其中api.cert为服务器证书,tclientapi.bks是生成的...
5. **配置Bouncy Castle为JCE提供者**:为了使用Bouncy Castle的加密功能,需要将其添加到Java的加密提供者列表中,并可能需要配置应用程序或JDBC驱动以使用这些新的加密算法。 6. **异常处理与调试**:在遇到无法...
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider ``` 这里的数字"1"表示提供者的优先级,数字越小,优先级越高。在某些情况下,可能需要确保Bouncy Castle提供者在默认的Java安全提供者...
jce-jdk13-139.jar是提供给java扩展包,放至jre/lib/ext目录下,并..\jre\lib\security\java.security文件中在配置security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider后使用