Spec-Zone .ru
спецификации, руководства, описания, API
|
Ниже перечисляются некоторые проблемы, которые могут произойти, делая попытку входа в систему, и предложений для того, чтобы решить их.
java.security.krb5.kdx
и java.security.krb5.realm.
В предыдущих выпусках только вступили бы в силу изменения к значениям конфигурации Kerberos, когда приложение было перезапущено.refreshKrb5Config
может быть определен в записи для Krb5LoginModule
в конфигурационном файле JAAS. Если эта опция устанавливается в true
, значения конфигурации будут обновлены перед методом входа в систему Krb5LoginModule
вызывается.refreshKrb5Config
должен быть установлен в true.
Отказ установить это значение может привести к неожиданным результатам.Причина: была проблема, обрабатывающая конфигурационный файл входа в систему JAAS, возможно из-за синтаксической ошибки в файле.
Решение: Проверьте конфигурационный файл тщательно на ошибки. См. Конфигурационный файл Входа в систему JAAS для информации о синтаксисе, требуемом в конфигурационном файле входа в систему.
Причина 1: введенный пароль является неправильным.
Решение 1: Проверьте пароль.
Причина 2: Если Вы используете keytab, чтобы получить ключ (например, устанавливая useKeyTab
опция к true
в записи Krb5LoginModule в конфигурационном файле входа в систему JAAS), тогда, возможно, изменился ключ, так как Вы обновили keytab.
Решение 2: Консультируйтесь со своей документацией Kerberos, чтобы генерировать новый keytab и использование это keytab.
Причина 3: Расфазировка тактовых сигналов - Если время на KDC и на клиенте отличается significanlty (обычно 5 минут), эта ошибка, может быть возвращена.
Решение 3: Синхронизируйте часы (или сделайте, чтобы системный администратор так).
Причина 4: имя области Kerberos не является всем верхним регистром.
Решение 4: Сделайте имя области Kerberos весь верхний регистр. Отметьте: рекомендуется иметь все имена области верхнего регистра. Для получения дополнительной информации сошлитесь на Соглашения о присвоении имен для раздела Имен и Имен узлов Области этого учебного руководства.
Причина: Kerberos требует, чтобы время на KDC и на клиенте свободно синхронизировалось. (Значение по умолчанию в течение 5 минут.) Если это не так Вы получите эту ошибку.
Решение: Синхронизируйте часы (или сделайте, чтобы системный администратор так).
Причина: область значения по умолчанию не определяется в конфигурационном файле Kerberos krb5.conf
(если использующийся), обеспеченный как часть имени пользователя, или определенный через java.security.krb5.realm
системное свойство.
Решение: Проверьте, что Ваш конфигурационный файл Kerberos (если использующийся) содержит запись, определяющую область значения по умолчанию, или непосредственно определите это, устанавливая значение java.security.krb5.realm
системное свойство и/или включая это в Вашем имени пользователя, аутентифицируя использование Kerberos.
Решение: Проверьте, что Kerberos KDC в порядке.
Причина: Это может произойти, если никакие допустимые учетные данные Kerberos не получаются. В частности это происходит, если Вы хотите, чтобы базовый механизм получил учетные данные, но Вы забыли указывать на это, устанавливая javax.security.auth.useSubjectCredsOnly
системное значение свойства к false
(например через -Djavax.security.auth.useSubjectCredsOnly=false
в Вашей команде выполнения).
Решение: Убедитесь, что установили javax.security.auth.useSubjectCredsOnly
системное значение свойства к false
если Вы хотите, чтобы базовый механизм получил учетные данные, а не Ваше приложение или программу обертки (такую как утилита Login, используемая некоторыми из учебных руководств) выполнение аутентификации, используя JAAS.
Причина: демонстрационные команды выполнения учебных руководств определяют значение по умолчанию область Kerberos и KDC, устанавливая значения для java.security.krb5.realm
и java.security.krb5.kdc
системные свойства. Если Вам нравится, у Вас может вместо этого быть a krb5.conf
Конфигурационный файл Kerberos используется. Такой файл включает информацию о том, какова область значения по умолчанию и KDC. Использовать a krb5.conf
файл, Вы любой набор системное свойство java.security.krb5.conf
(вместо realm
и kdc
свойства), чтобы определить расположение файла или Вы не устанавливаете ни одного из этих свойств, и поэтому попытка предпринимается, чтобы расположиться krb5.conf
файл в расположении значения по умолчанию. Вы доберетесь, ошибка "Не могла загрузить конфигурационный файл <krb5.conf> (Никакой такой файл или каталог)", если файл не мог бы быть найден.
Решение: Проверьте что конфигурационный файл Kerberos krb5.conf
доступно и читаем. Проверьте Требования Kerberos на информацию о том, как определить расположение krb5.conf
файл и где такой файл разыскивается по умолчанию, если Вы явно не указываете на расположение.
Причина 1: Ваш KDC не поддерживает тип шифрования, который требуют.
Решение 1: реализация Sun Kerberos поддерживает следующие типы шифрования: des-cbc-md5
, des-cbc-crc
и des3-cbc-sha1
.
Приложения могут выбрать требуемый тип шифрования, определяя после тегов в Конфигурационном файле Kerberos krb5.conf
:
[libdefaults] default_tkt_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 default_tgs_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 permitted_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1Если не определенный, значение по умолчанию:
des-cbc-md5 des-cbc-crc des3-cbc-sha1
Причина 2: Это исключение выдается при использовании собственного кэша билета на некоторых платформах Windows. Microsoft добавила новую опцию, в которой они больше не экспортируют сеансовые ключи для Билетов Выдачи билетов (TGTs). В результате у собственного TGT, полученного на Windows, есть "пустой" сеансовый ключ и нулевой EType. Произведенные платформы включают: Windows Server 2003, Пакет обновления Windows 2000 Server 4 (SP4) и Windows XP SP2.
Решение 2: Вы должны обновить реестр Windows, чтобы отключить эту новую опцию. Ключ реестра allowtgtsessionkey
должен быть добавлен - и установлен правильно - позволить сеансовым ключам быть отправленными в Билете Выдачи билетов Kerberos.
На Windows Server 2003 и Windows 2000 SP4, вот необходимая установка реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters Value Name: allowtgtsessionkey Value Type: REG_DWORD Value: 0x01 ( default is 0 )По умолчанию значение 0; установка этого к "0x01" позволяет сеансовому ключу быть включенным в TGT.
Вот является расположение установки реестра на Windows XP SP2:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\ Value Name: allowtgtsessionkey Value Type: REG_DWORD Value: 0x01
Причина: KDC, отправленный ответ, который не может быть понят под клиентом.
Решение: Проверьте, что Вы установили правильно весь krb5.conf
параметры конфигурации файла и консультируются с Вашим руководством поставщика KDC.
sun.security.krb5.debug
к "истине". Эта установка позволяет Вам следовать за выполнением программы Kerberos протокол V5. Если Вы отправляете нам отклик относительно проблемы, Вы имеете, пожалуйста, включайте полную отладочную информацию.