我正在使用以下命令
curl --insecure --cert 'cert.p12:password' -X GET https://serverUrl -H 'Content-Type: application/json'
curl --insecure --cert-type P12 --cert 'cert.p12:password' -X GET https://serverUrl -H 'Content-Type: application/json'
它在 Ubuntu 16.04.4 LTS \n \l (AWS lightsail) 中不起作用并出现以下错误
curl:(35)读取 X.509 可能加密的密钥文件时出错:解析时出错。
但在 Ubuntu 18.04.3 LTS \n \l (本地系统) 中运行
答案1
由于 Ubuntu 16.04.4 LTS 不支持 P12 文件,因此我们可以使用以下命令
PKCS#1 私钥
openssl pkcs12 -in cert.p12 -nocerts -out privateKey.pem
证书:
openssl pkcs12 -in cert.p12 -clcerts -nokeys -out publicCert.pem
我们可以使用下面的命令来调用 API
curl -k --cert ./publicCert.pem --cert-type PEM --key ./privateKey.pem --key-type PEM --pass password -X GET https://serverUrl -H 'Content-Type: application/json'