Я использую следующую команду
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'