SSL-fout: Routines: SSL3_GET_SERVER_CERTIFICAAT: Certificaat verifiëren Mislukt

Ik heb een groot aantal bestandsdownload links in een txt-bestand. Ik probeer een pythonScript te schrijven om alle bestanden tegelijk te downloaden, maar ik eindig met de volgende foutmelding:

SSLError: [Errno 1] _ssl.c:499: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 

Het bestand wordt gedownload via intranet.

Ik heb geprobeerd het bestand te downloaden via browser en ik heb een pop-up met some certificate. Ik heb het geprobeerd het google, maar heeft geen manier gevonden om dit op te lossen.


Antwoord 1, Autoriteit 100%

Het servercertificaat is ongeldig, omdat het wordt ondertekend door een ongeldige CA (interne CA, zelf ondertekend, …), komt niet overeen met de naam van de server of omdat deze is verlopen.

Hoe dan ook, u moet zien hoe u het kunt vertellen aan de Python-bibliotheek die u gebruikt die het niet mag stoppen bij een ongeldig certificaat als u echt bestanden van deze server wilt downloaden.


Antwoord 2, Autoriteit 85%

Ik heb dit zelf ervaren bij gebruik van requests:

Dit is extreem onveilig; Gebruik alleen als laatste redmiddel! (zie de opmerking van RDLOWREY.)

requests.get('https://github.com', verify=True)

Dien dat verify=Falsedeed de truc voor mij.


Antwoord 3, Autoriteit 80%

Heb je dit probleem vandaag nog gekregen en na het afwijken van enkele uren zojuist om te weten dat mijn server dieetime verkeerd was.

Dus controleer eerst uw server datetime voordat u zo diep in dit probleem gaat.

Probeer ook

>> sudo update-ca-certificates

Antwoord 4, Autoriteit 15%

Heb deze dezelfde fout onlangs in een Python-app gebruikt met behulp van verzoeken op Ubuntu 14.04lts, waarvan ik dacht dat het goed had gewerkt (misschien was het en een update optrad). De onderstaande stappen uitvoeren heeft het voor mij gerepareerd:

pip install --upgrade setuptools
pip install -U requests[security]

Hier is een referentie:
https://stackoverflow.com/a/39580231/996117


Antwoord 5, Autoriteit 5%

kan ook gebeuren wanneer uw lokale tijd is uitgeschakeld (bijvoorbeeld vóór de validatie van de certificaat), dit was het geval in mijn fout …


Antwoord 6

Ik heb hetzelfde probleem ervaren vanwege certifibibliotheek. Het installeren van een andere versie heeft me ook geholpen.


Antwoord 7

Normaal gesproken bijwerken Certifi en / of de Certifi cacert.pem-bestand zou werken. Ik moest ook mijn versie van Python bijwerken. Vs. 2.7.5 werkte niet vanwege de manier waarop het SNI-aanvragen behandelt.

Nadat u een up-to-date PEM-bestand hebt, kunt u uw HTTP-verzoek gebruiken met:

requests.get(url, verify='/path/to/cacert.pem')

Other episodes