Мы используем интегратор WSO2 6.4. Чтобы иметь возможность подключаться к сторонним HTTPS-серверам, нам нужно добавить сертификат сервера в client-truststore.jks. Многие серверы теперь используют сертификаты от https://letsencrypt.org со сроком действия 3 месяца. Это означает, что мы должны обновлять сертификаты каждые три месяца для каждого 3-го сервера в нашей среде, в противном случае мы получим ошибку в сообщении об ошибке отправителя. Есть ли способ вообще отключить проверку сертификатов в WSO2 EI? Или, может быть, можно сделать какой-то автоматический сценарий для обновления сертификатов в client-truststore.jks? Или мы можем проверять сертификаты в client-truststore.jks внутри самого wso2 ei и отправлять предупреждения до истечения срока их действия?
Продлить сертификаты в хранилище доверенных сертификатов клиента WSO2 EI
Ответы (2)
Немного основ в доверии TLS.
Когда у вас есть явное доверие, доверие отдельным сертификатам (часто это делается для самозаверяющих сертификатов). Действительно, такой подход создает значительные накладные расходы на управление, в основном при подключении и отключении новых узлов службы или с недолговечными сертификатами.
Для TLS (SSL) используется неявное доверие. Ваше приложение доверяет списку (постоянных) эмитентов - центрам сертификации (ЦС). Если список сертификатов ЦС со временем меняется, в любом случае может потребоваться ручное управление.
Есть ли способ вообще отключить проверку сертификатов в WSO2 EI?
Да, есть (в axis2.xml), но это снижает безопасность, и трафик будет уязвим для атаки «злоумышленник посередине».
Мы решили эту проблему, добавив в client-truststore.jks только сертификаты корневого ЦС letsencrypt.
Да, это правильный подход. Если у вас закрытая среда (нет доступа к Интернету), вам может потребоваться добавить всю цепочку сертификатов (корневые и промежуточные сертификаты подписи)
Мы решили эту проблему, добавив в client-truststore.jks только сертификаты корневого ЦС letsencrypt. Этого было достаточно, чтобы wso2ei доверяла всем серверам с сертификатами Letsencrypt.