如何在MacOSX中为JRE 7安装无限强度的JCE?
我为MacOSX安装了Oracle JRE 7(不是JDK),但我找不到JCE管辖权文件的位置。
我需要用无限强度版本替换它们。
我为MacOSX安装了Oracle JRE 7(不是JDK),但我找不到JCE管辖权文件的位置。
我需要用无限强度版本替换它们。
我已经安装了Oracle JDK,如果它有帮助,那么在我的情况下,目录是。您的里程可能会有所不同,在这种情况下,只需跑步并查看结果。/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/security/
find . -name local_policy.jar
这是针对JDK的,而不是JRE的。
我在Mac,OSx Lion上,我使用/usr/libexec/java_home
来找到我的java家
/usr/libexec/java_home -V
# Matching Java Virtual Machines (3):
# 1.7.0_51, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
# 1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
# 1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
#
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
/usr/libexec/java_home
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
/usr/libexec/java_home -v 1.6
# /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/usr/libexec/java_home -v 1.7
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
从这里您可以使用此可执行文件并找到这些文件
find $(/usr/libexec/java_home -v 1.7) -name local_policy.jar
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/local_policy.jar
find $(/usr/libexec/java_home -v 1.7) -name US_export_policy.jar
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/US_export_policy.jar
并将其与@ngreen的答案相结合,以获取这些文件的md5(如果需要)
find ~/Downloads/UnlimitedJCEPolicy -name *.jar |xargs md5
# MD5 (/Users/nperry/Downloads/UnlimitedJCEPolicy/local_policy.jar) = 9dd69bcc7637d872121880c35437788d
# MD5 (/Users/nperry/Downloads/UnlimitedJCEPolicy/US_export_policy.jar) = 3bb2e88a915b3cb003ca185357a92c16
find $(/usr/libexec/java_home -v 1.7) -name local_policy.jar | xargs md5
# MD5 (/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/local_policy.jar) = f41ab8f64b1fa13fec7276579c420951
find $(/usr/libexec/java_home -v 1.7) -name US_export_policy.jar | xargs md5
# MD5 (/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/US_export_policy.jar) = d5d126ae15abecb7d6e3a28b0d57543e
你可以看到我还没有替换这些文件。
如果需要,请备份原始文件
mkdir ~/Downloads/JCEPolicy-originals-1.7/
cp $(find $(/usr/libexec/java_home -v 1.7) -name local_policy.jar) ~/Downloads/JCEPolicy-originals-1.7/
cp $(find $(/usr/libexec/java_home -v 1.7) -name US_export_policy.jar) ~/Downloads/JCEPolicy-originals-1.7/
您可以将文件替换为此文件。
sudo cp ~/Downloads/UnlimitedJCEPolicy/local_policy.jar $(find $(/usr/libexec/java_home -v 1.7) -name local_policy.jar)
sudo cp ~/Downloads/UnlimitedJCEPolicy/US_export_policy.jar $(find $(/usr/libexec/java_home -v 1.7) -name US_export_policy.jar)
获得MD5s告诉我它是否有效
find $(/usr/libexec/java_home -v 1.7) -name local_policy.jar | xargs md5
# MD5 (/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/local_policy.jar) = 9dd69bcc7637d872121880c35437788d
find $(/usr/libexec/java_home -v 1.7) -name US_export_policy.jar | xargs md5
# MD5 (/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/US_export_policy.jar) = 3bb2e88a915b3cb003ca185357a92c16