CERTIFICATE_VERIFY_FAILED с использованием облачного API Google с Python
Я пытался решить эту надоедливую проблему с помощью облачного API Google (в частности, я пытаюсь использовать API видения) с помощью Python 2.7.12 на Windows 7. Это очень простой код, который я запускаю:
from google.cloud import vision
vision_client = vision.Client()
image_one = vision_client.image(source_uri='gs://MY_BUCKET/MY_PHOTO.jpg')
labels = image_one.detect_labels(limit=5)
Но это заканчивается:
E0527 16:50:58.714000000 10868 src/core/tsi/ssl_transport_security.c:937] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.
После прочтения бесконечных предлагаемых решений - я добавил переменную среды SSL_CERT_FILE, связанную с сертификатом, загруженным с http://curl.haxx.se/ca/cacert.pem. Это только решило эту проблему в течение нескольких часов, но затем вышеупомянутая ошибка вернулась.
Может кто-нибудь объяснить, пожалуйста, что я делаю не так и каковы точные шаги, чтобы решить эту проблему?
Спасибо!
1 ответ
В том, что вы делаете, нет ничего плохого, просто сертификат того, к чему вы подключаетесь, не является доверенным. Это может быть либо сам сертификат, либо орган выдачи. В твоем случае я думаю, что это последнее.
Ваша переменная среды должна была быть недействительной при открытии нового сеанса. Посмотрите эту ветку, чтобы узнать, где разместить пакет сертификатов: https://superuser.com/questions/442793/why-cant-curl-properly-verify-a-certificate-on-windows