【问题标题】:How to install unlimited strength JCE for Java 8 in OS X?如何在 OS X 中为 Java 8 安装无限强度的 JCE?
【发布时间】:2016-10-11 00:03:52
【问题描述】:

我需要在OS X/mac OS 中为Java 8 安装Java Cryptography Extension。事实证明,installer 附带的 README 文件中的步骤仅包含针对UnixWindows 的说明,但不包含针对OS X / mac OS 的说明。我尝试将 JAR 文件放入 $JAVA_HOME/lib/security,但它也不起作用。你知道我该如何安装它们吗?

【问题讨论】:

    标签: java macos jce


    【解决方案1】:

    Java 8 更新 161

    正如 another answer 和 Oracle 的 release notes for Java 8 Update 161 中所指出的,自更新 161 以来默认启用无限制加密,如果使用此版本或更高版本的全新安装,您无需执行任何操作。

    Java 8 更新 151

    在 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.

    如 Oracle 在 release notes 中所述,如果较早添加旧的策略 JAR,则删除它们可能是个好主意:

    因为旧的 JCE 管辖文件留在 /lib/security,它们可能不符合最新的安全 JAR 签名标准,在 6u131、7u121、8u111 和 稍后更新。

    旧版本

    建议通过 Homebrew 安装 JCE 文件的答案不再有效,因为在 Java 8 Update 151 发布后,这些木桶已从 Homebrew 存储库中删除。如果使用旧版本的 Java 8,您必须按照another answer 中的说明手动放置 JCE-Policy-JAR。

    【讨论】:

      【解决方案2】:

      注意:从 Java JDK 版本 8u161 开始,默认启用无限加密

      对于 MacOS 用户

      如果您是 MacOS 用户,如果您的 java 版本是 8.*,则放入从 jce_policy-8.zip 提取的 jars。* 使用下面的路径(将 jars 放在它下面)

      /Library/Java/JavaVirtualMachines/**< jdk_version_of_your_pc >**/Contents/Home/jre/lib/security
      

      【讨论】:

      • 请参阅下方anothernode 的回答。这是 2017 年 10 月/之后 java 8 > 151 的正确解决方案。
      【解决方案3】:

      从 Java 8u152 开始,只需在 java.security 文件中设置 crypto.policy=unlimited 即可启用无限强度

      /Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home/jre/lib/security 
      

      它已经在那个文件中但被注释掉了。

      http://www.oracle.com/technetwork/java/javase/8u152-relnotes-3850503.html#JDK-8157561

      【讨论】:

      • The JDK JCE framework uses the unlimited policy files by default. 来源于jdk8_191
      【解决方案4】:

      对于使用 Java 8 的 Mac 用户 (OS X):

      $ brew reinstall java8

      从 JDK 1.8u151 开始,无需单独下载 JCE 库。只需编辑

      $JDK_HOME/jre/lib/security/java.security

      并取消注释该行:

      crypto.policy=unlimited

      这将启用无限强度的 JCE。

      JDK 1.8u151 Release Notes

      【讨论】:

        【解决方案5】:

        从 Java JDK 版本 8u161 unlimited cryptography is enabled by default 开始,不再需要其他建议的方法(除非您想禁用它)。

        这个改动也是appears to be included in other major JDK versions from JDK 6 to JDK 9.

        【讨论】:

          【解决方案6】:

          由于您没有在这里解释您的问题是什么猜测。

          1. 使用互联网搜索引擎,您可能会找到此页面http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
          2. 你可能已经下载了这个文件jce_policy-8.zip
          3. 也许你会解压它并查看目录UnlimitedJCEPolicyJDK8/
          4. 也许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 上的位置与所列系统的位置相同。

          【讨论】:

          • @JonDoe297 /Library/Java/JavaVirtualMachines/&lt; jdk_version_of_your_pc &gt;/Contents/Home/jre 那是你的&lt;java-home&gt;。当您添加 /lib/security 时,您将获得来自 prasshant 的路径。
          【解决方案7】:

          对于更高版本的 macOS(例如 Sierra),Oracle Java 安装在两个位置,具体取决于您安装的是 JRE 还是 JDK。

          • JRE:/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/
          • JDK:/Library/Java/JavaVirtualMachines/jdk1.x.x_xxx.jdk/Contents/Home/
            • 如果您安装 JDK,它还会在上面列出的 JRE 位置安装 JRE。

          JRE 允许您双击以从 Finder 打开 jar 并在浏览器中运行 Java。 JRE 不附带java 二进制文件,因此如果您想运行任何典型的Java 命令,您必须安装JDK。更多信息请访问https://java.com/en/download/faq/yosemite_java.xml

          这就是说,在安装无限强度的 JCE 文件时,请将它们安装在上面列出的两个目录中以获得一致的行为。

          【讨论】:

            【解决方案8】:

            如果您是 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

            【讨论】:

              猜你喜欢
              • 2012-08-28
              • 1970-01-01
              • 1970-01-01
              • 2017-07-01
              • 1970-01-01
              • 1970-01-01
              • 2014-09-19
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多