我需要在Java 8
/ OS X
中为mac OS
安装 Java密码术扩展。事实证明installer附带的自述文件文件中的步骤仅包含Unix
和Windows
的说明,但不适用于OS X
/ mac OS
。我试图将JAR文件放在$JAVA_HOME/lib/security
中,但它也没有用。你知道我怎么安装它们?
答案 0 :(得分:95)
正如another answer和Oracle release notes for Java 8 Update 161中指出的那样,默认情况下启用无限加密,因为更新161,如果使用全新安装,您不应该做任何事情这个版本。
使用Java 8 Update 151,Oracle在Java 8中包含了与Java 9相同的JCE机制。要在Java 8 Update 151或更高版本中启用JCE,只需设置属性
crypto.policy=unlimited
$JAVA_HOME/jre/lib/security/java.security
中的。
如果早先添加旧政策JAR,那么删除旧政策JAR可能是个好主意,正如Oracle在release notes中所述:
因为旧的JCE管辖权文件留在了 / lib / security,它们可能不符合最新的安全JAR 签署标准,在6u131,7u121,8u111和 以后的更新。
建议通过Homebrew安装JCE文件的解决方案不再适用,因为在Java 8 Update 151发布后,已从Homebrew存储库中删除了存储桶。如果使用旧版本的Java 8,则可以参考到accepted answer。
答案 1 :(得分:78)
如果您是mac用户,如果您的java版本是8,请将从jce_policy-8.zip中提取的jar放入。*使用以下路径(将jar放在其下)
/Library/Java/JavaVirtualMachines/**< jdk_version_of_your_pc >**/Contents/Home/jre/lib/security
答案 2 :(得分:11)
$ brew重新安装java8
从JDK 1.8u151开始,没有必要单独下载JCE库。只需编辑
$ JDK_HOME / JRE / LIB /安全/ java.security
取消注释该行:
crypto.policy=unlimited
这将启用无限强度JCE。
答案 3 :(得分:11)
从Java 8u152开始,只需在<{p>中的crypto.policy=unlimited
文件中设置java.security
即可启用无限强度
/Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home/jre/lib/security
它已经在该文件中,但已注释掉。
请参阅http://www.oracle.com/technetwork/java/javase/8u152-relnotes-3850503.html#JDK-8157561
答案 4 :(得分:8)
从Java JDK版本8u161 unlimited cryptography is enabled by default开始,不再需要其他建议的方法(除非你想禁用它)。
此更改也appears to be included in other major JDK versions from JDK 6 to JDK 9.
答案 5 :(得分:5)
由于你没有在这里解释你的问题,所以猜测一下。
jce_policy-8.zip
UnlimitedJCEPolicyJDK8/
README.txt
会引起你的兴趣如果所有这些步骤都是真的,那么你就找到了
3) Install the unlimited strength policy JAR files.
In case you later decide to revert to the original "strong" but
limited policy versions, first make a copy of the original JCE
policy files (US_export_policy.jar and local_policy.jar). Then
replace the strong policy files with the unlimited strength
versions extracted in the previous step.
The standard place for JCE jurisdiction policy JAR files is:
<java-home>/lib/security [Unix]
<java-home>\lib\security [Windows]
您可以假设OSX上的位置与列出的系统相同。
答案 6 :(得分:5)
对于更高版本的macOS(例如Sierra),Oracle Java安装在两个位置,具体取决于您是否安装了JRE或JDK。
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/
/Library/Java/JavaVirtualMachines/jdk1.x.x_xxx.jdk/Contents/Home/
JRE允许您双击以从Finder打开jar并在浏览器中运行Java。 JRE没有java
二进制文件,因此如果要运行任何典型的Java命令,则必须安装JDK。更多信息https://java.com/en/download/faq/yosemite_java.xml。
所有这些都说,在安装无限强度的JCE文件时,将它们安装在上面列出的两个目录中以获得一致的行为。
答案 7 :(得分:3)
如果您是Windows用户:
在http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
上下载最新的JCE提取zip文件并复制以下目录中的两个jar文件
\ Program Files \ Java \ jre1.8.0_131 \ lib \ security