【问题标题】:kinit errors - authentication to AD 2008kinit 错误 - 对 AD 2008 的身份验证
【发布时间】:2014-04-26 02:00:22
【问题描述】:

我正在尝试让我的应用程序使用 AD 凭据进行身份验证。我在创建 krb5.ini 文件后使用 kinit 进行测试。我相信 ini 文件中的所有领域信息都是正确的,但在使用 kinit 进行测试时仍会收到以下错误。

Exception: krb_error 0 Cannot find any provider supporting ARCFOUR No error
KrbException: Cannot find any provider supporting ARCFOUR
    at
 sun.security.krb5.internal.crypto.ArcFourHmacEType.encrypt(ArcFourHm
 cEType.java:68)
    at
  sun.security.krb5.internal.crypto.ArcFourHmacEType.encrypt(ArcFourHm
    cEType.java:60)                                                                                                                                                                                                                        
    at sun.security.krb5.EncryptedData.<init>(EncryptedData.java:122)
    at sun.security.krb5.KrbAsReq.init(KrbAsReq.java:355)
    at sun.security.krb5.KrbAsReq.<init>(KrbAsReq.java:180)
    at sun.security.krb5.internal.tools.Kinit.<init>(Kinit.java:253)
    at sun.security.krb5.internal.tools.Kinit.main(Kinit.java:107)
 Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider
 suporting ARCFOUR
    at javax.crypto.Cipher.getInstance(DashoA13*..)
    at
  sun.security.krb5.internal.crypto.dk.ArcFourCrypto.encrypt(ArcFourCrpto.java:279)

【问题讨论】:

    标签: windows authentication active-directory


    【解决方案1】:

    您需要在 krb5.ini 配置和 conf/security/java.security 中启用 RC4-HMAC

    我认为 RC4 与 MD5 一起在 Oracle JDK (>= 1.8.u060) 中因已知的不安全性而被列入黑名单,但 MS Active Directory Kerberos 实施严格要求密钥交换。 也许您必须通过从 JDK conf/security/java.security 的 jdk.tls.disabledAlgorithms 和 jdk.certpath.disabledAlgorithms 中删除 RC4 来重新启用它。

    更多信息请参见https://www.java.com/en/configure_crypto.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-14
      • 2021-11-28
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 2020-10-14
      • 1970-01-01
      相关资源
      最近更新 更多