+1
Answered

Ошибка SSL-сертификата при работе с API

Anonymous 6 years ago updated by Антон 6 years ago 1
В командной строке linux набираю:
curl -X POST -H "Content-Type: application/json" -H "Authorization: Token 0f36b491847тут_мой_ключ6544ff5cdf10adf36" -d '{ "structure": [ "ADDRESS" ], "data": [[ "Москва, Милютинский 13" ] ] }' https://dadata.ru/api/v1/clean
Получаю:
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
Где у меня ДНК?

Answer

Answer
Answered
Ваш curl почему-то не считает SSL-сертификат DaData заслуживающим доверия. При этом сам сертификат валидный (можно проверить через браузер), и у меня на нескольких машинах эта проблема не воспроизводится.

Можно просто выполнить curl с ключом -k:
curl -k -X POST -H "Content-Type: application/json" -H "Authorization: Token ${API_KEY}" -d '{ "structure": [ "ADDRESS" ], "data": [[ "Москва, Милютинский 13" ] ] }' https://dadata.ru/api/v1/clean
Answer
Answered
Ваш curl почему-то не считает SSL-сертификат DaData заслуживающим доверия. При этом сам сертификат валидный (можно проверить через браузер), и у меня на нескольких машинах эта проблема не воспроизводится.

Можно просто выполнить curl с ключом -k:
curl -k -X POST -H "Content-Type: application/json" -H "Authorization: Token ${API_KEY}" -d '{ "structure": [ "ADDRESS" ], "data": [[ "Москва, Милютинский 13" ] ] }' https://dadata.ru/api/v1/clean
Ага! Спасибо, заработало! :)