java jce 授权_【Java加密】(一)JCE配置加密算法强度不受限授权的安装
【前言】Java加解密系列,根據(jù)實(shí)際開(kāi)發(fā)進(jìn)度,不定期更新
【下載】在Oracle網(wǎng)站上搜索,?Unlimited Strength Jurisdiction Policy Files這個(gè)關(guān)鍵字,然后按照所安裝的JDK版本選擇對(duì)應(yīng)的授權(quán)文件,比如我的是JDK8,就選擇了這個(gè)
【安裝】
下載完這個(gè)zip包后,里面有兩個(gè)jar包和一個(gè)readme.txt文件。
按照README.txt里的說(shuō)明進(jìn)行安裝。注意區(qū)別開(kāi)發(fā)環(huán)境用的JRE在JDK里面,運(yùn)行環(huán)境的JRE是單獨(dú)的環(huán)境。在我的Mac上,JRE是裝在JDK里的,對(duì)應(yīng)路徑是/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre
進(jìn)入到授權(quán)文件安裝的目錄下
/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/lib/security能夠查看到默認(rèn)是有l(wèi)ocal_policy.jar 和 ?US_export_policy.jar的,改個(gè)名字保存一下。
然后復(fù)制壓縮包里的文件到/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/lib/security目錄下,這樣就安裝完成了。
【驗(yàn)證】
可以用下面的程序驗(yàn)證一下
public static void securityVerify() throws Exception {
byte[] data = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
// create a 64 bit secret key from raw bytes
SecretKey key64 = new SecretKeySpec(
new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 },
"Blowfish");
// create a cipher and attempt to encrypt the data block with our key
Cipher c = Cipher.getInstance("Blowfish/ECB/NoPadding");
c.init(Cipher.ENCRYPT_MODE, key64);
c.doFinal(data);
System.out.println("64 bit test: passed");
// create a 192 bit secret key from raw bytes
SecretKey key192 = new SecretKeySpec(
new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 },
"Blowfish");
// now try encrypting with the larger key
c.init(Cipher.ENCRYPT_MODE, key192);
c.doFinal(data);
System.out.println("192 bit test: passed");
System.out.println("Tests completed");
}
如果是默認(rèn)配置,
返回類(lèi)似
64 bit test: passed
Exception in thread "main" java.lang.SecurityException:
Unsupported keysize or algorithm parameters
at javax.crypto.Cipher.init(...)
at chapter1.SimplePolicyTest.main(SimplePolicyTest.java:38)
如果是替換后,返回
64 bit test: passed
192 bit test: passed
Tests completed
總結(jié)
以上是生活随笔為你收集整理的java jce 授权_【Java加密】(一)JCE配置加密算法强度不受限授权的安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java workerdone_【架构】
- 下一篇: 数组序列化 java_Java基础之数组