5

http://docs.spring.io/spring-security-kerberos/docs/1.0.1.RELEASE/reference/htmlsingle/#samples-sec-に記載されているように、Active Directory資格情報を使用してSpring Security Kerberosを実行しようとしています- server-win-auth . ほとんどのもの (SPN、キータブなど) をダウンさせたと言いたいです。今、チェックサムが失敗しました。プリンシパル名を変更すると、AES 暗号化エラーが発生します。

https://github.com/spring-projects/spring-security-kerberos/tree/master/spring-security-kerberos-samples/sec-serverの Oracle Java 1.8 + JCE サンプルを使用して、RHEL 6 で Spring Boot を使用しています。 -勝利認証

これがjarを実行したときに得られるものです


Debug は true storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache は null isInitiator false KeyTab は /home/boss/webdev125-3.keytab refreshKrb5Config は false プリンシパルは http/webdev@EXAMPLE.ORG tryFirstPass は false useFirstPass は false storePass は false clearPass偽です

プリンシパルは http/webdev@EXAMPLE.ORG です keytab を使用します コミット成功

....

2015-11-25 11:29:09.631 DEBUG 5559 --- [nio-8080-exec-3] .a.KerberosServiceAuthenticationProvider : Kerberos トークンの検証を試みます 2015-11-25 11:29:10.003 WARN 5559 --- [ nio-8080-exec-3] waSpnegoAuthenticationProcessingFilter : ネゴシエート ヘッダーが無効でした:

...

org.springframework.security.authentication.BadCredentialsException: org.springframework.security.kerberos.authentication.sun.SunJaasKerberosTicketValidator.validateTicket(SunJaasKerberosTicketValidator.java:71) で org.springframework.security.kerberos.authentication.KerberosServiceAuthenticationProvider で Kerberos 検証が失敗しました。 org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156) で認証 (KerberosServiceAuthenticationProvider.java:64)

...

原因: org.ietf.jgss.GSSException: GSS-API レベルで特定されていない障害 (メカニズム レベル: チェックサムが失敗しました)

    at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:856)
    at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
    at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
    at sun.security.jgss.spnego.SpNegoContext.GSS_acceptSecContext(SpNegoContext.java:906)
    at sun.security.jgss.spnego.SpNegoContext.acceptSecContext(SpNegoContext.java:556)
    at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
    at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
    at org.springframework.security.kerberos.authentication.sun.SunJaasKerberosTicketValidator$KerberosValidateAction.run(SunJaasKerberosTicketValidator.java:170)
    at org.springframework.security.kerberos.authentication.sun.SunJaasKerberosTicketValidator$KerberosValidateAction.run(SunJaasKerberosTicketValidator.java:153)
    ... 48 common frames omitted

原因: sun.security.krb5.KrbCryptoException: チェックサムに失敗しました

    at sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType.decrypt(Aes256CtsHmacSha1EType.java:102)
    at sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType.decrypt(Aes256CtsHmacSha1EType.java:94)
    at sun.security.krb5.EncryptedData.decrypt(EncryptedData.java:175)
    at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:281)
    at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
    at sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:108)
    at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:829)
    ... 56 common frames omitted

原因: java.security.GeneralSecurityException: チェックサムに失敗しました

    at sun.security.krb5.internal.crypto.dk.AesDkCrypto.decryptCTS(AesDkCrypto.java:451)
    at sun.security.krb5.internal.crypto.dk.AesDkCrypto.decrypt(AesDkCrypto.java:272)
    at sun.security.krb5.internal.crypto.Aes256.decrypt(Aes256.java:76)
    at sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType.decrypt(Aes256CtsHmacSha1EType.java:100)
    ... 62 common frames omitted

その他の詳細:

  • /etc/krb5.conf には、aes256-cts-hmac-sha1-96 を含めるための default_tgs_enctypes、default_tkt_enctypes があります。
  • デフォルトのキータブの場所は、アプリケーションと krb5.conf の間で一致しています
  • キータブは Windows サーバーで生成され、RHEL にコピーされます
4

2 に答える 2

6

既存のサービス プリンシパル マッピングと競合していたようです。クリーンアップすると、エラーは発生しなくなりました。このリンクは解決策を見つけるのに役立ちました - https://developer.jboss.org/wiki/ConfiguringJBossNegotiationInAnAllWindowsDomain?_sscc=t

于 2015-11-27T20:29:22.367 に答える