Во-первых, мое знакомство и опыт работы с сертификатами ограничены, поэтому я пытаюсь использовать это как опыт обучения, а также получение ответа.
Используя Jenkins, я хотел бы иметь возможность сделать запрос на завивание как часть моей сборки, которая использует сертификат (.p12) для аутентификации.
Пример
curl --cert /Users/Jenkins/.jenkins/workspace/develop-pipeline/../certificates/dev_cert.p12:password https://jira.dev.organisation.co.uk:443/rest/api/2/issue/MYSTATS-1234
Итак, у меня есть сертификат рабочего стола (закрытый ключ), который я сохранил на машине, где работает Jenkins, но я также понимаю, что мне нужен сертификат ЦС для авторизации этого закрытого ключа (надеюсь, пока это правильно).
Когда я запустил команду curl из терминала на машине с Jenkins, у меня появилось всплывающее окно, в котором меня спросили, хочу ли я использовать сертификат в цепочке ключей для авторизации, и я всегда нажимал «Разрешить», поэтому запросы на завивку командной строки всегда работают.
Однако, когда я запускаю это как часть сборки Jenkins, я получаю
(58) SSL: Can't load the certificate "/Users/Jenkins/.jenkins/workspace/develop-pipeline/../certificates/dev_cert.p12" and its private key: OSStatus -25308
Путь к сертификату правильный, так как структура каталогов
develop-pipeline
certificates
dev_cert.p12
Чего я не понимаю, так это того, что если я не укажу пароль
curl --cert /Users/Jenkins/.jenkins/workspace/develop-pipeline/../certificates/dev_cert.p12 https://jira.dev.organisation.co.uk:443/rest/api/2/issue/MYSTATS-1234
Я получаю сообщение:
SSL The certificate "/Users/Jenkins/.jenkins/workspace/develop-pipeline/dev_cert.p12" requires a password
Так он нашел сертификат?
Также предоставление неправильного пароля дает
SSL: Incorrect password for the certificate "/Users/Jenkins/.jenkins/workspace/develop-pipeline/dev_cert.p12" and its private key.
Что мне нужно сделать, чтобы это заработало?