Как мы можем настроить, какие шифровальные шифры Java Waffle SSPI должен использовать клиент единого входа Kerberos (SSO)?
Как мы можем наилучшим образом отладить, какие шифры фактически используются клиентом и сервером?
Фон
Мы необходимо ограничить шифровальные шифры, используемые для единого входа Kerberos, удаляя шифры, которые теперь считаются слабыми.
Наша установка
Сервер приложений Java реализует единый вход через чистый Java GSSAPI.
* Клиент Java реализует единый вход с помощью двух настраиваемых API-интерфейсов единого входа:
Kerberos «назад -end »- это Windows Active Directory.
Что мы уже знаем
На чистых реализациях Java GSSAPI (сервер и клиент) мы можем настроить систему свойство java.security.krb5.conf
для настройки файла Krb5.conf, в котором мы можем явно настроить типы шифрования, например
[libdefaults]
default_tkt_enctypes = aes256-cts
default_tgs_enctypes = aes256-cts
permitted_enctypes = aes256-cts
https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/lab/part4.html
С помощью GSSAPI мы можем получить отладочная информация с системным свойством sun.security.krb5.debug=true
Однако на клиенте Waffle SSPI ни одно из системных свойств не оказывает никакого влияния. Оглядываясь назад, это неудивительно, поскольку SSPI не вызывает код Kerberos java времени выполнения.
Я предполагаю, что SSPI использует разрешенные типы шифрования из операционной системы Windows, и что мы не сможем для настройки типов из приложения java.
Веб-сайт Waffle предлагает следующую ссылку для отладки Kerberos:
https://support.microsoft.com/en-us/help/262177/how-to-enable-kerberos-event-logging