У меня есть клиент, который заменил хранилище ключей и хранилище доверенных сертификатов компонентов нашего продукта. После замены компоненты не могут обмениваться данными друг с другом (двусторонний SSL).

В журналах SSL я вижу:
http-nio-8100-exec-2, fatal error: 42: null cert chain javax.net.ssl.SSLHandshakeException: null cert chain %% Invalidated: [Session-6, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256] http-nio-8100-exec-2, SEND TLSv1.2 ALERT: fatal, description = bad_certificate http-nio-8100-exec-2, WRITE: TLSv1.2 Alert, length = 2 http-nio-8100-exec-2, fatal: engine already closed. Rethrowing javax.net.ssl.SSLHandshakeException: null cert chain

Они настроили одинаковые файлы хранилища ключей и доверенных сертификатов с обеих сторон. Я открыл их хранилище ключей и хранилище доверенных сертификатов, и вот как они устроены:
хранилище ключей
entry1 - сервер
сертификат [1] MD5: X
сертификат [2] MD5: Y
сертификат [3] MD5: Z

доверенный магазин
entry1 - корень
сертификат [1] MD5: Z
entry2 - средний
сертификат [1] MD5: Y

Мне кажется, что тот факт, что cert [1] в хранилище ключей (с MD5 X) отсутствует в хранилище доверенных сертификатов, является проблематичным.

Я прав?

Видите ли вы какие-нибудь другие проблемы со способом создания их хранилища ключей и доверенного хранилища?

0
danieln 7 Апр 2016 в 12:09

1 ответ

Я прав?

Нет. Пока хранилище доверенных сертификатов содержит один из сертификатов в цепочке сертификатов хранилища ключей, оно должно доверять сертификату в хранилище ключей.

0
Marquis of Lorne 7 Апр 2016 в 09:46