2016-05-05 17 views
3

Wie kann ich feststellen, ob mein Python-Quellcode SSL aktiviert hat? entwederPython: Wie kann ich feststellen, ob mein Python SSL hat?

  • nach dem Ausführen konfigurieren, aber vor dem Kompilieren (am besten).
  • nach dem Kompilieren, wenn ich den Python ausführen kann.

Kontext:

  • ein Skript, das mit einer nackten Linux-Box auffüllt.
  • Voraussetzung ist die Installation von openssl, damit Python https ausführen kann.
  • versuchen zu erkennen, ob diese Voraussetzung nicht erfüllt ist.

Antwort

7

Wenn alles, was Sie tun möchten, ist herauszufinden, ob openssl installiert ist, können Sie die Ausgabe von openssl version analysieren:

$ openssl version 
OpenSSL 1.0.2g-fips 1 Mar 2016 

Sie all sorts of information von version bekommen können, beispielsweise das Verzeichnis, in dem seine gespeicherten : (vielleicht überprüfen Sie die Inhalte von config.log)

$ openssl version -d 
OPENSSLDIR: "/usr/lib/ssl" 

Soweit Python geht, ich bin nicht sicher, wie Sie configure vor dem Ausführen sagen kann, aber sobald Python installiert ist; analysieren einfach die Ausgabe von ssl.OPENSSL_VERSION, wie folgt aus:

$ python -c "import ssl; print(ssl.OPENSSL_VERSION)" 
OpenSSL 1.0.2g-fips 1 Mar 2016 

Für noch mehr Informationen, haben ein Spiel mit dem sysconfig Modul, zum Beispiel:

$ python -c "import sysconfig; print(sysconfig.get_config_var('CONFIG_ARGS'))" 
'--enable-shared' '--prefix=/usr' '--enable-ipv6' '--enable-unicode=ucs4' '--with-dbmliborder=bdb:gdbm' '--with-system-expat' '--with-computed-gotos' '--with-system-ffi' '--with-fpectl' 'CC=x86_64-linux-gnu-gcc' 'CFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security ' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' 
+0

// 'python -c„import ssl; print (ssl.OPENSSL_VERSION) "funktionierte perfekt. Ich konnte feststellen, dass mein 'Python' SSL hatte, aber das Ergebnis für' python3 -c 'import ssl; print (ssl.OPENSSL_VERSION)' 'war ein' ModuleNotFoundError'. Danke, Burhan –

Verwandte Themen