Не удается найти ключ соответствующего типа для расшифровки AP REP - AES256 Режим CTS с HMAC SHA1-96 - PullRequest
0 голосов
/ 04 июля 2018

У меня был сервер Tomcat с настройкой Spnego SSO, он работает без проблем. Теперь я хочу добавить сервер Apache перед ним, чтобы включить SSL. Сервер Apache использует AJP для связи с ним:

<VirtualHost *:58443>
  SSLEngine on
  ServerName ca09417d.global.local:58443
  SSLCertificateFile "${SRVROOT}/conf/ssl/ca09417d.server.cer"
  SSLCertificateKeyFile "${SRVROOT}/conf/ssl/ca09417d.server.key"
 ...
  ProxyRequests off
  ProxyPreserveHost On
  ProxyPass /vcaps3 ajp://cavcdbdev02:58009/vcaps3
  ProxyPassReverse /vcaps3 ajp://cavcdbdev02:58009/vcaps3   
</virtualhost>

После этого сервер жалуется на эту ошибку:

KrbException: Invalid argument (400) - Cannot find key of appropriate type to decrypt AP REP - AES256 CTS mode with HMAC SHA1-96
sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:278)
sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:108)
sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:829)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
sun.security.jgss.spnego.SpNegoContext.GSS_acceptSecContext(SpNegoContext.java:906)
sun.security.jgss.spnego.SpNegoContext.acceptSecContext(SpNegoContext.java:556)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
net.sourceforge.spnego.SpnegoAuthenticator.doSpnegoAuth(SpnegoAuthenticator.java:444)
net.sourceforge.spnego.SpnegoAuthenticator.authenticate(SpnegoAuthenticator.java:283)
net.sourceforge.spnego.SpnegoHttpFilter.doFilter(SpnegoHttpFilter.java:229)

Итак, я попробовал эти вещи:

  • Чтобы убедиться, что мой JDK может выполнять AES 256
  • Войдите на локальный сервер Apache, это успешно, потому что у меня есть этот параметр: spnego.allow.localhost = true
  • Проверьте оба сервера журнала и ничего не нашел
  • Я все еще могу использовать SSO на сервере Tomcat сразу после сбоя Apache

Теперь я понятия не имею, что мне делать, чтобы это исправить.

  • Моя версия кота - 8.5.32
  • Моя версия JDK - 1.8.0_151
  • Моя версия Apache - httpd-2.4.33-o110h-x86-vc14-r2
  • Моя версия Spnego - 7

Это основная часть моего krb5.conf:

[libdefaults]
default_tkt_enctypes = rc4-hmac aes256-cts aes128-cts
default_tgs_enctypes = rc4-hmac aes256-cts aes128-cts
permitted_enctypes   = rc4-hmac aes256-cts aes128-cts

Не могли бы вы мне помочь?

Большое спасибо!

Justin

...