Mac 上 Java JCE 的安装

  • 作者:scsidisk
  • 最后编辑: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