我有证书问题,我甚至不确定我是否选择了正确的方式...... 长话短说..我需要我的jenkins工作从网站构建期间下载我需要使用证书身份验证的东西 - 我得到.p12和.cert证书。 我以为我只会通过Jenkins的Credentials插件导入它们,所以我可以在作业中使用它们,但我不能这样做。
到目前为止我做了什么:
我已经创建了keystore xxx.jks并导入了p12和cert。
试图将它的路径添加到“从Jenkins master上的PKCS#12文件”,但获取消息:
Could not load keystore
java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.
我试图从Jenkins上传证书,但得到了这个:
Could retrieve key "cert alias". You may need to provide a password
java.security.UnrecoverableKeyException: Get Key failed: null
我很感激任何建议或建议,包括一些有用的文件(我已经尝试过,但我找不到任何对我有用的东西)。
非常感谢。
答案 0 :(得分:0)
有几种方法:
wget
命令引用该绝对位置。wget
命令使用相对位置。File Parameter
进行作业配置,这将提示您将文件上传到作业的工作区,但是每次作业运行时都需要提供该文件。答案 1 :(得分:0)
我刚刚使用凭证绑定插件https://wiki.jenkins.io/display/JENKINS/Credentials+Binding+Plugin
完成了此操作将该文件作为文件存储在Jenkins的安全凭据部分中。然后使用以下脚本代码访问文件:
stage('Get orders JSON from web service') {
withCredentials([file(credentialsId: 'certID', variable: 'MY_CERT')]) {
ORDERS_JSON = sh(
script: "curl --cert $MY_CERT https://host.com/api/orders -k",
returnStdout: true
).trim()
}
}