0

Ich habe versucht, dieses lästige Problem mit Google Cloud API (insbesondere ich versuche, Vision-API zu verwenden) mit Python 2.7.12 auf Windows 7. Dies ist der sehr einfache Code ich bin mit:CERTIFICATE_VERIFY_FAILED mit Google Cloud API mit Python

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) 

Aber das endet mit:

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. 

nach endlosen vorgeschlagenen Lösungen zu lesen - ich habe eine Umgebungsvariable SSL_CERT_FILE auf ein Zertifikat von http://curl.haxx.se/ca/cacert.pem heruntergeladenen Link hinzugefügt. Dies behob das Problem nur für einige Stunden, aber dann kam der oben erwähnte Fehler zurück.

Kann mir bitte jemand erklären, was mache ich falsch und was sind die genauen Schritte, damit das gelöst werden kann?

Danke!

Antwort

0

Es ist nichts falsch mit dem, was Sie tun, es ist nur, dass das Zertifikat von dem, was Sie verbinden, nicht vertrauenswürdig ist. Es kann entweder ein Zertifikat selbst oder die ausstellende Behörde sein. In Ihrem Fall denke ich, dass es Letzteres ist.

Ihre Umgebungsvariable muss beim Öffnen einer neuen Sitzung ungültig sein. Sehen Sie sich diesen Thread an, wo Sie Ihre Zertifikate bündeln können: https://superuser.com/questions/442793/why-cant-curl-properly-verify-a-certificate-on-windows

+0

Ich benutze nicht curl und das Hinzufügen der CURL_CA_BUNDLE Umgebungsvariable, wie im obigen Link angewiesen, hat nicht geholfen. Gibt es konkrete Schritte, um Google Cloud API mit Python 2.7.12 zu arbeiten? – Amir