%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%20%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BF%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%20%D0%B7%D0%B0%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%20%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%20X.509%3A%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%20%D0%BF%D1%80%D0%B8%20%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC%20%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B5.).png)
Я использую следующую команду
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'