У меня есть многоуровневое приложение, в котором мой браузер подключается к серверу MainApp, а сервер MainApp перенаправляет аутентификацию (и другие службы) на мой сервер BackOffice. Все это Jboss, и BackOffice содержит экземпляр RH-SSO / Keycloak. Из-за сетевых ограничений браузер не может напрямую общаться с BackOffice, только с MainApp.
У меня настроен Keycloak для поддержки Kerberos с LDAP в качестве провайдера. Я проверил, что keyTab и т. Д. Работает с другим приложением (не через браузер). Таблица ключей поддерживает только шифрование AES256-SHA1.
До сих пор я подходил к согласованию между MainApp и браузером, пока у меня не появится токен Kerberos V5. Затем я читаю токен от:
((NegTokenTarg)responseMessage).getResponseToken()
MainApp затем отправляет запрос аутентификации Keycloak на BackOffice, используя рабочий процесс direct_grant.
Однако Keycloak не может расшифровать сообщение, потому что оно 128-битное:
GSSException: Failure unspecified at GSS-API level (Mechanism level: Invalid argument (400) - Cannot find key of appropriate type to decrypt AP REP - AES128 CTS mode with HMAC SHA1-96)
Я также попытался создать keyTab с помощью -crypto ALL
Но затем я получил другую ошибку:
GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)
Я не уверен, что еще мне нужно сделать с токеном в MainApp, чтобы BackOffice / auth мог его аутентифицировать.