为什么默认情况下不包括JCE Unlimited Strength?

dmi*_*oso 25 java encryption jce

建立

  • Java不提供对JCE无限强度策略文件的开箱即用支持
  • 这可以防止用户使用AES-256,这是广泛使用的加密标准的最大密钥大小
  • 不包括策略文件会导致许多问题:
  • 所有这些噪音导致破坏和/或错误的程序

  • 为什么这些没有被提供和像黑羊一样对待?

dmi*_*oso 24

  • 事实证明,它不是严格的加密输出法则,而只是没有人能够解决它.
  • 事实上,很长一段时间没有必要跳过这些篮球.
  • 在Java 9中,仪式将缩小为一个单行:Security.setProperty("crypto.policy", "unlimited");

  • 对于Java 8也是如此,因为8u151左右.并且,通过在jre/lib/security/java.security中取消注释"crypto.policy = unlimited",也可以在不必更改任何Java代码的情况下启用.这是使用sed执行此操作的单行程序:`sed -i's/^ #crypto.policy = unlimited/crypto.policy = unlimited /'$ JAVA_HOME/jre/lib/security/java.security` (8认同)

ibr*_*yel 12

现在,JDK中默认启用无限制加密

JDK使用Java Cryptography Extension(JCE)管辖区域策略文件来配置加密算法限制.以前,JDK中的Policy文件限制了各种算法.此版本附带有限和无限制的管辖区策略文件,默认值为unlimited.可以通过/lib/java.security文件中的新"crypto.policy"安全属性来控制该行为.有关此属性的更多信息,请参阅该文件.

请参阅:http://www.oracle.com/technetwork/java/javase/8u161-relnotes-4021379.html#JDK-8170157