Какое-то время я изо всех сил пытаюсь поставить вещи лицом к лицу и решить эту проблему, но безуспешно. Я пытаюсь аутентифицировать своих пользователей Java-приложений через AD с помощью Kerberos. Я создал KDC, как показано ниже:
[libdefaults]
default_realm = X.LOCAL
default_tkt_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 rc4-hmac arcfour-hmac arcfour-hmac-md5 aes128-cts-hmac-sha1-96
default_tgs_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 rc4-hmac arcfour-hmac arcfour-hmac-md5 aes128-cts-hmac-sha1-96
permitted_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 rc4-hmac arcfour-hmac arcfour-hmac-md5 aes128-cts-hmac-sha1-96
[realms]
X.LOCAL = {
kdc = machine_name.X.LOCAL
default_domain = X.LOCAL
}
[domain_realm]
.X.LOCAL = X.LOCAL
Я определил новую область следующим образом: • Глобальная безопасность>JAAS — Входы в приложения • Создал новый вход с именем «клиент» и выделил ресурс com.ibm.ws.security.auth.kerberos.Krb5LoginModuleWrapperClient.
На уровне кода я устанавливаю путь для KDC: System.setProperty(java.security.krb5.conf, “KDC” path);
Пытаюсь войти:
loginContext = new LoginContext(moduleName, getUsernamePasswordHandler(userName, secret));
loginContext.login();
Я получаю:
Ошибка входа: com.ibm.security.krb5.KrbException, код состояния: 14 сообщение: KDC не поддерживает тип шифрования
Вы скажете, что тип шифрования не поддерживается :) Я знаю.
В: 1) Что я пропустил? (застрял здесь более 1 недели) 2) Что я делаю неправильно?
Спасибо за ваше время.