У нас есть несколько проектов maven, которые построены на сервере сборки. В некоторых случаях мы хотим подписать наши результаты. Для этого мы используем Maven Jarsigner Plugin.
Мы сталкиваемся со следующими вопросами:
- Где мы должны хранить пароли для подписания?
- Что такое хорошая стратегия для подписания проектов maven?
Мы не хотим размещать наше хранилище ключей где-то на наших серверах и жестко указывать путь к нему. Поэтому мы просто завернули это хранилище в банку и загрузили его как артефакт в наш внутренний репозиторий maven. Когда мы хотим подписать проект maven, мы загружаем артефакт keystore с помощью Maven Dependency Plugin и присоединяем цель подписи к жизненному циклу сборки maven. Здесь - более подробная информация.
Чтобы скрыть пароли для хранилища ключей, мы помещаем их в наш корпоративный файл pom.xml
. Мы также думаем о сохранении паролей в settings.xml
на сервере сборки.
Когда проект создается и подписывается на машине разработчика, мы подписываем его с самозаверяющим сертификатом. Но когда проект построен и подписан на сервере сборки, мы подписываем его с нашим "официальным" сертификатом.
Это хорошая стратегия?