Я использую команду ниже
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 (ЛОКАЛЬНАЯ СИСТЕМА)
Поскольку в 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'