2016-05-05 3 views
3

ソースビルドされたPythonでSSLが有効になっているかどうかを確認するにはどうすればよいですか?Python:PythonにSSLがあるかどうかをどのように確認できますか?

  • configureを実行した後でコンパイルする前に(ベスト)。
  • コンパイルした後、私はPythonを実行できます。

コンテキスト:

  • 裸のLinuxボックスを移入するスクリプト。
  • 前提条件は、opensslをインストールして、Pythonがhttpsを実行できるようにすることです。
  • この前提条件が満たされていないかどうかを検出しようとしています。

答えて

7

opensslがインストールされている場合、あなたがしたいすべてが把握されている場合は、あなたがopenssl versionの出力を解析することができます

$ openssl version 
OpenSSL 1.0.2g-fips 1 Mar 2016 

あなたは、たとえば、versionからall sorts of informationを得ることができ、その保存されたディレクトリ:(?多分config.logの内容を確認してください)

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

限り、Pythonが行くように、私はあなたがconfigureを実行する前に伝えることができるかどうかはわかりませんが、一旦Pythonがインストールされると、 、さらに多くの情報について

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

例えば、sysconfigモジュールとの遊びを持っています:単にこのようなssl.OPENSSL_VERSIONの出力を、解析

$ 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「輸入SSL; print(ssl.OPENSSL_VERSION)は完璧に動作しました。私は自分の 'python'がSSLを持っていると知ることができましたが、' python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"の結果は 'ModuleNotFoundError'でした。ありがとう、@Burhan –

関連する問題