У меня есть несколько разных серверов, на которых запущены разные программные пакеты, разработанные несколькими внутренними командами. Поскольку они пытаются подключить свои приложения через веб-вызовы, мы обнаруживаем, что Java, похоже, не доверяет коммерческому CA, который мы используем (Comodo). Решение, похоже, заключается в том, чтобы импортировать корневые и промежуточные сертификаты в хранилище ключей для каждого экземпляра Java, но я не могу найти хорошего способа автоматизировать это. Кажется, это нужно делать вручную для каждого экземпляра.
Может ли кто-нибудь подсказать мне, как это сделать оптом?
решение1
Вам нужен промежуточный сертификат, а не корневой. Он подписан сертификатом, который распознает Java (предположительно, распространяемый поставщиком вашей ОС), поэтому ваше приложение Java может просто загрузить требуемый промежуточный сертификат, если он отсутствует. Загрузка по http — это нормально, так как вы подтвердите, что содержимое подписано известным корневым сертификатом.
Если вы хотите распространять сертификат за пределами вашего приложения, вам понадобится инструмент управления конфигурацией. Например, Puppet, Chef, Ansible и Salt — популярные варианты.
Если это единственное, чем вы собираетесь управлять, то, вероятно, проще всего будет настроить Ansible, но я бы рекомендовал вам потратить немного времени и подумать, стоит ли вам более полно использовать управление конфигурацией в вашей среде.