2016-12-14 231 views
1

首先,我对证书的接触和经验有限,所以我尝试将此用作学习体验以及获得答案。Jenkins和SSL证书

使用Jenkins我希望能够使用证书(.p12)进行身份验证,作为我的构建的一部分发出curl请求。

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 

所以,我有我已经保存到哪里詹金斯运行本机桌面证书(私钥),但我也明白,我需要一个CA证书,授权该私钥(希望迄今为止这是正确的)。

当我从Jenkins机器上的终端运行curl命令时,我有一个弹出窗口,询问我是否想使用钥匙串内的证书进行授权,并且我单击始终允许,因此命令行卷曲请求始终可用。

然而,当我运行此作为詹金斯构建的一部分,我得到

(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. 

什么我需要做的就是这个工作?对事物的任何链接,这将有助于我

感谢

回答

1

This Github comment帮我整理出上OSX卷曲问题。所以在我的情况下安装卷曲通过Homebrew与OpenSSL标志做了伎俩。