2017-01-13 1 views
0

auf einem RedHat-Box (Red Hat Enterprise Linux Workstation-Version 6.8 (Santiago)) Ich bin in der Lage eine curl Anfrage an die JIRA-Instanz zu machen wie folgt:Wie behebt man Probleme mit Zertifikaten, wenn python3 auf die JIRA-REST API zugreift?

curl -k -D- -u "user":"password" -X GET -H "Content-Type: application/json" https://some_url/jira/rest/api/2/search?jql=assignee=fritz 

Diese Anforderung eine gültige Json mit den Ist-Daten zurückgibt drin. So weit, ist es gut.

Um auf die Informationen von der JSON zuzugreifen und zu bewerten, versuche ich jira-python zu verwenden, um einen Parser für die Jira Json's zu haben. Der Code ist wie folgt:

jira = JIRA('https://some_url/jira', basic_auth=('user','password')) 

, die zu einem Fehler führt wie folgt:

WARNING:root:[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) while doing GET https://some_url/jira/rest/api/2/serverInfo [{'params': None, 'headers': {'User-Agent': 'python-requests/2.12.4', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json,*.*;q=0.9', 'Connection': 'keep-alive', 'Cache-Control': 'no-cache', 'Content-Type': 'application/json', 'X-Atlassian-Token': 'no-check'}}] 

Warum ich einen Zertifikatsfehler haben, wenn die JIRA mit Python zuzugreifen versuchen, aber ich weiß nicht, wenn mit locken? Und wie behebt man das?

+0

Verwenden Sie -k nicht, fixieren Sie Ihre Zertifikatskette statt. – frlan

+0

Mögliches Duplikat von [Wie bekomme ich Python-Anfragen, um ein selbstsigniertes SSL-Zertifikat zu erhalten?] (Http://stackoverflow.com/questions/30405867/how-to-get-python-requests-to-trust-a-self- signed-ssl-certificate) – frlan

+0

Während der Diskussion denke ich, es ist ein Duplikat und könnte eine Antwort haben mit http://StackOverflow.com/a/30405947/2915834 – frlan

Antwort

0

Wenn Sie die Zertifikatvalidierung überspringen möchten (nicht sicher), setzen Sie verify auf False.

jira = JIRA('https://some_url/jira', verify=False, basic_auth=('user','password')) 

Wie @frlan aufgezeigt hat, ist es besser, das Zertifikat zu validieren. Gehen Sie einfach die JIRA-Argumente durch und geben Sie Ihr Client-Zertifikat zur Überprüfung an.

Erläuterung: https://github.com/pycontribs/jira/blob/5cade37e56612caee36db6310b6e0ef935726944/jira/client.py

* verify -- Verify SSL certs. Defaults to ``True``. 
+0

Deaktivieren Sie nicht Zertifikatsprüfungen. Wenn sie scheitern, gibt es einen Grund. – frlan

+0

@frlan Und welcher Grund könnte das sein? Und warum ist das wichtig? – Alex

+0

Was @frlan sagte, ist richtig, es wird ein sicheres Problem sein. Man-in-the-middle-Angriff vermeiden. – Will

Verwandte Themen