jdk安全强度设置:
http://java.sun.com/javase/downloads/index.jsp中的Other Downloads下载
解压zip,
用其中的两个jar包覆盖jdk6下/%JDK_HOME%/jre/lib/security目录下的jar包
jre目录下也作相同配置
然后通过代码段
try {
KeyGenerator kg = KeyGenerator.getInstance("AES");
kg.init(256);
SecretKey secretKey = kg.generateKey();
byte[] key = secretKey.getEncoded();
System.out.println("ok");
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
对调整后的系统权限进行验证,执行顺利,表示生效,如果不进行调整,由于出口限制,密钥不支持256位.
MD4,IDEA等加密算法,java6不支持,可以通过在JRE环境中配置开源组件包Bounce Castle,加入对应的
提供者,获得相应的算法支持.
从http://www.bouncycastle.org/latest_releases.html
下载 bcprov-jdk16-145.jar ,bcprov-ext-jdk16-145.jar
扩充算法支持的两种方式
1配置方式:
修改配置文件,/%JDK_HOME%/jre/lib/security/java.security中加入
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
然后把bcprov-ext-jdk16-145.jar放入/%JDK_HOME%/jre/lib/ext目录下
jre目录下也作相同配置
2调用方式:
把bcprov-jdk16-145.jar导入工程,接着在程序中要导入两个类
java.security.Security
org.bouncycastle.jce.provider.BouncyCastleProvider
接着在初始化工厂,密钥生成器等引擎类时,采用如下方式
Security.addProvider(new BouncyCastleProvider())
或者在初始化工厂,密钥生成器等引擎类时,采用如下方式
MessageDigest md = MessageDigest.getInstance("MD4","BC");