|
Spec-Zone .ru
спецификации, руководства, описания, API
|
ВАЖНОЕ ПРИМЕЧАНИЕ: API и функции, описанные в этом документе, подвержены изменениям.
Следующие улучшения были сделаны к Java реализацией GSS/Kerberos в J2SE 5.
Тройной тип шифрования DES определяется в конфигурационном файле Kerberos под разделом "libdefaults". Это определяется как "des3-cbc-sha1" со следующими тегами: default_tkt_enctypes, default_tgs_enctypes, permitted_enctypes. "у dec3-cbc-sha1" есть следующие псевдонимы:
des3-hmac-sha1 des3-cbc-sha1-kd des3-cbc-hmac-sha1-kdНапример, libdefaults раздел в конфигурационном файле мог бы включать следующий.
default_tkt_enctypes = des3-cbc-sha1 des-cbc-md5 des-cbc-crc default_tgs_enctypes = des3-cbc-sha1 des-cbc-md5 des-cbc-crc permitted_enctypes = des3-cbc-sha1 des-cbc-md5 des-cbc-crcdefault_tkt_enctypes используется, чтобы определить типы шифрования, чтобы использовать для сеансового ключа в билете выдачи билетов. Это используется клиентом, чтобы ограничить типы шифрования сеансовых ключей, которые будут использоваться, чтобы связаться с KDC. Значением по умолчанию является "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".
Отправляя сообщение KDC, Java SE библиотека Kerberos будет использовать TCP, если размер сообщения будет выше udp_preference_list. Если сообщение будет меньшим чем udp_preference_list, то UDP попробуют самое большее три раза. Если KDC укажет, что запрос является слишком большим, Java SE, то библиотека Kerberos будет использовать TCP.
С этой функцией, если Krb5LoginModule получает билет с истекшим сроком из кэша билета, TGT будет автоматически возобновлен и добавлен к Предмету вызывающей стороны, кто запрашивал билет. Если билет не может быть возобновлен ни по какой причине, то Krb5LoginModule будет использовать свой сконфигурированный обработчик обратного вызова, чтобы получить имя пользователя и пароль, чтобы получить новый TGT.
Чтобы использовать эту функцию, сконфигурируйте Krb5LoginModule, чтобы использовать кэш билета и установить недавно представленную опцию renewTGT в true. Вот пример конфигурационного файла входа в систему JAAS, который запрашивает возобновление TGT.
server {
com.sun.security.auth.module.Krb5LoginModule required
principal=principal@your_realm
useTicketCache=true
renewTGT=true;
};
Отметьте что, если renewTGT устанавливается в истину, то useTicketCache должен также быть установлен в истину; иначе, это приводит к ошибке конфигурации.com.sun.net.ssl.server com.sun.net.ssl.clientКогда приложение JSSE будет использовать комплекты шифра Kerberos без явной программы JAAS, провайдер SunJSSE будет использовать эти имена индексов, чтобы найти и сконфигурировать модуль входа в систему JAAS, чтобы получить необходимые учетные данные Kerberos. Например, у такого приложения мог бы быть следующий конфигурационный файл JAAS.
com.sun.net.ssl.server {
com.sun.security.auth.module.Krb5LoginModule required
principal=service_principal@your_realm
useKeyTab=true
keyTab=keytab_name
storeKey=true;
};
Если запись не будет найдена, значение по умолчанию, "то другое" имя индекса будет использоваться. Имя службы для TLS является "узлом". Например, у службы TLS, работающей на машине под названием "raven.example.com" в области под названием "KRBNT-OPERATIONS.EXAMPLE.COM", было бы имя принципала службы host/raven.example.com@KRBNT-OPERATIONS.EXAMPLE.COMНет никаких ограничений на клиент TLS; это может использовать любое допустимое имя принципала Kerberos.
Когда приложение JSSE использует комплекты шифра Kerberos с явной программой JAAS, оно может использовать любое имя индекса, включая тех упомянутых выше.