在将域用户设置为支持Kerberos token 的AES加密(Windows Server 2008R2)之后,在Web应用程序服务器端,我们得到以下异常:
奇怪的是,根据本文档,我们有Java 6(1.6.0_27),这意味着应该支持AES:http://docs.oracle.com/javase/6/docs/technotes/guides/security/jgss/jgss-features.html
有什么想法在我们的Web应用程序或Java或第三方中缺少什么?我们正在使用Spring安全性Kerberos扩展(只需进行最小的代码修改即可适应我们当前的Spring 2.x版本和其他身份验证要求)。
最佳答案
编辑(2017-05-06):即将发布的JDK版本将包括此功能。只需要设置一个配置参数,请参见JDK-8157561。
遵循此link - Java SE Downloads,向下滚动并下载适用于您特定JDK版本的Java密码学扩展(JCE)无限强度管辖权策略文件,并按照本教程中的过程5.4.2. Kerberos and Unlimited Strength Policy进行操作。
基本步骤如下:
$ locate 'jre/lib/security' | grep 'lib/security$'
/usr/java/jdk1.7.0_17/jre/lib/security
/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/security
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/security
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/security
/usr/java/jdk1.7.0_17/jre/lib/security
中。 $ ls -l UnlimitedJCEPolicy
total 16
-rw-rw-r-- 1 root root 2500 May 31 2011 local_policy.jar
-rw-r--r-- 1 root root 7289 May 31 2011 README.txt
-rw-rw-r-- 1 root root 2487 May 31 2011 US_export_policy.jar
$ ls -l /usr/java/jdk1.7.0_17/jre/lib/security/*.jar
-rw-r--r--. 1 root root 2865 Mar 1 2013 /usr/java/jdk1.7.0_17/jre/lib/security/local_policy.jar
-rw-r--r--. 1 root root 2397 Mar 1 2013 /usr/java/jdk1.7.0_17/jre/lib/security/US_export_policy.jar
$ pushd /usr/java/jdk1.7.0_17/jre/lib/security/
/usr/java/jdk1.7.0_17/jre/lib/security ~
$ mkdir limited
$ mv *.jar limited/
$ cp ~/UnlimitedJCEPolicy/*.jar .
$ ls -l *.jar
-rw-r--r-- 1 root root 2500 Jun 25 12:50 local_policy.jar
-rw-r--r-- 1 root root 2487 Jun 25 12:50 US_export_policy.jar