Mac 上 Java JCE 的安装
- 作者:
- 最后编辑:2014年07月10日
- 标签: HBase
Java加密扩展(JCE, Java Cryptography Extension ) 是一组提供加密、密钥生成、密码协议和消息认证码(MAC, Message Authentication Code )算法的框架和接口包,支持包括对称密码、不对称密码、分组密码、流密码. 该软件还支持安全流和密封对象.从J2SE 1.4开始的版本,JDK和JRE中内嵌了JCE,(译者注:所以不需要下载就可以直接使用JCE)而J2SE 1.2和1.3需要下载JCE才能使用JCE。
验证是否安装jce可以使用下面程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import java.util.Set;
import javax.crypto.Cipher;
public class CheckKeySize {
public static void main(String[] args) {
try {
Set<String> algorithms = Security.getAlgorithms("Cipher");
for(String algorithm: algorithms) {
int max;
max = Cipher.getMaxAllowedKeyLength(algorithm);
System.out.printf("%-22s: %dbit%n", algorithm, max);
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}
运行以后结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
BLOWFISH : 128bit
ARCFOUR : 128bit
PBEWITHMD5ANDDES : 128bit
RC2 : 128bit
RSA : 2147483647bit
PBEWITHMD5ANDTRIPLEDES: 128bit
PBEWITHSHA1ANDDESEDE : 128bit
DESEDE : 2147483647bit
AESWRAP : 128bit
AES : 128bit
DES : 64bit
DESEDEWRAP : 128bit
RSA/ECB/PKCS1PADDING : 2147483647bit
PBEWITHSHA1ANDRC2_40 : 128bit
下載國際版的 JCE,解開蓋掉原本 jre/lib/security 下的兩個jar。
查找目录
1
2
3
4
5
$ find /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/ -name local_policy.jar
$ cd /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk//Contents/Home/jre/lib/security/
$ sudo mv US_export_policy.jar US_export_policy.jar.bak
$ sudo mv local_policy.jar local_policy.jar.bak
$ sudo cp ~/Downloads/UnlimitedJCEPolicy/*.jar ./
再次执行上面程序,结果如下
1
2
3
4
5
6
7
8
9
10
11
12
13
BLOWFISH : 2147483647bit
PBEWITHSHA1ANDDESEDE : 2147483647bit
AESWRAP : 2147483647bit
DESEDE : 2147483647bit
DES : 2147483647bit
AES : 2147483647bit
DESEDEWRAP : 2147483647bit
ARCFOUR : 2147483647bit
RC2 : 2147483647bit
PBEWITHMD5ANDDES : 2147483647bit
PBEWITHSHA1ANDRC2_40 : 2147483647bit
RSA : 2147483647bit
PBEWITHMD5ANDTRIPLEDES: 2147483647bit