Назад | Перейти на главную страницу

Подпрограммы SSL: ssl3_read_bytes: ошибка расшифровки предупреждений tlsv1 при взаимной аутентификации

Я настроил JBOSS 5 с SSLVerifyClient="require"

  1. Клиент содержит сертификаты CA сервера и собственные сертификаты (JDK 1.8).
  2. Сервер содержит сертификаты клиентского центра сертификации и собственные сертификаты (JDK 1.6).

В этом случае оба центра сертификации разные, когда мы пытаемся связаться с этим сервером и получаем tlsv1 alert decrypt error

Понятия не имею, какое это исключение?

Во время завивки

Unknown SSL protocol error in connection

Во время OpenSSL:

SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A 
SSL_connect:error in SSLv3 flush data 
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA

Проблема, вероятно (оценка основана на выходных данных OpenSSL), что используемый режим алгоритма не поддерживается другой стороной или считается устаревшим / нарушенным (т.е. TLSv1 не поддерживается). считается устаревшим более года).

Я бы рекомендовал зафиксировать рукопожатие с помощью tcpdump / wirehark. Поскольку кажется, что рукопожатие не удается, вы должны иметь возможность изучить незашифрованную фазу рукопожатия. В противном случае, поскольку у вас есть доступ к закрытым ключам для сертификатов, вы также сможете расшифровать перехваченные сообщения в wirehark.

Если проблема не в несовпадении поддерживаемых алгоритмов, я думаю, что второе предположение связано с DNS. В некоторых случаях недостаточно того, что клиент подтвердил свою личность с помощью сертификата, но должно быть соответствие, например, между его записью DNS (PTR) и полем CommonName в сертификате.