Windows kinit错误-对AD 2008的身份验证

Windows kinit错误-对AD 2008的身份验证,windows,authentication,active-directory,Windows,Authentication,Active Directory,我正在尝试使用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.sec

我正在尝试使用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)

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

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

有关更多信息,请参阅