运行curl命令时是否可以交互/绕过对话框弹出窗口?
我的示例涉及在使用p.12
证书进行身份验证的jenkins构建中运行curl命令。
curl -v -k -E dev_key.p12:password https://jira.dev.organisation.co.uk:443/rest/api/2/issue/MYSTATS-2213
因此,如果我在常规终端中执行此操作,我将首次获得弹出窗口,询问example wants to access key in your keychain
使用allow/always allow
按钮,然后我可以不间断地执行卷曲请求。但由于某些原因,当在Jenkins管道中运行相同的命令时,我只是得到错误(如果你在弹出窗口上按取消,这就是结果)
SSL can't load the certificate and it's private key
有解决方法吗?
更新
所以我发现有一个--cacert
选项可以通过,我猜是在验证dev_key,但是当我导出我的ca证书时它是一个.crt
文件。是正确的格式吗?
答案 0 :(得分:0)
对于SSL(https),curl选项-E
需要PEM格式的证书(不是PKCS#12)。从手册页:
-E, --cert <certificate[:password]>
[...]
The certificate must be in PKCS#12 format if using Secure Transport, or
PEM format if using any other engine.
[...]