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