5

Kerberosトークン(Windows Server 2008R2)のAES暗号化をサポートするようにドメインユーザーを設定した後、Webアプリケーションサーバー側で次の例外が発生します。

GSSException:GSS-APIレベルで障害が指定されていません(メカニズムレベル:HMAC SHA1-96を使用した暗号化タイプAES256CTSモードはサポート/有効化されていません)

不思議なことに、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バージョンと追加の認証要件に適合するように最小限のコード変更を加えています)。

4

1 に答える 1

16

編集(2017-05-06):今後のJDKバージョンにはこれが含まれます。設定する必要があるのは設定パラメータのみです。JDK-8157561を参照してください。

このリンクをたどる-JavaSEDownloads、下にスクロールして、特定のJDKバージョンのJava Cryptography Extension(JCE)Unlimited Strength Jurisdiction Policy Filesをダウンロードし、このチュートリアルの5.4.2というタイトルのプロセスに従います。Kerberosおよび無制限の強度ポリシー

基本的な手順は次のとおりです。

  1. JDKのセキュリティディレクトリ(以下にUnixを表示)を見つけます。

    $ 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
    
  2. 上記に注意して、ダウンロードしたJCE.jarファイルをに追加する必要があります/usr/java/jdk1.7.0_17/jre/lib/security

  3. JCE .zipファイルには、次のものが含まれています(JDK 1.7のJCEを示しています)。

    $ 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
    
  4. これらは、JDKにバンドルされているバージョンです(これも1.7)。

    $ 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
    
  5. これらを邪魔にならないように移動し、JCE.zipファイルに含まれているバージョンに置き換える必要があります。私は通常、次のことを行います。

    $ 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
    
  6. JDKを利用しているもの(Tomcatなど)を再起動します。

于 2012-10-18T13:52:33.810 に答える