Как обновить версию openssl и связать ее с python 3.6.5 - PullRequest
0 голосов
/ 03 июня 2018

У меня есть несколько версий python на моей машине с Ubuntu.По умолчанию это 2.7.Тем не менее, мне удалось запустить Python 3.6, перейдя по определенному пути:

/usr/local/bin/code/tls-client

Мне нужно использовать библиотеку openSSL в моем коде Python.Я хочу запустить конкретную версию: 1.1.0.Я попытался использовать pip install openssl, затем проверьте, обновилась ли версия, но это не так.

python3
Python 3.6.5 (default, May  3 2018, 10:08:28) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2g  1 Mar 2016'

Как я могу связать python 3.6.5 с определенной версией openSSL (скажем, OpenSSL 1.1.0)?или даже 1.1.1 (если возможно)?

РЕДАКТИРОВАТЬ: После компиляции из источника, как предполагает ответ, я проверил версию, и вот что я получаю:

/usr/local/bin/openssl-1.1.0h$ openssl version -a
OpenSSL 1.0.2g  1 Mar 2016
built on: reproducible build, date unspecified
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/usr/lib/ssl"

1 Ответ

0 голосов
/ 03 июня 2018

Предполагается, что вы не обновили до последней стабильной версии OpenSSL (из консоли bash):

$ sudo apt update && sudo apt upgrade openssl

Если это не устанавливает ожидаемую версию (проверьте, выполнив openssl version -a), затем попробуйте скомпилировать и установить вручную:

wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz
tar xzvf openssl-1.1.0h.tar.gz
cd openssl-1.1.0h
./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
make
make install

openssl version -a

должен обновить OpenSSL до версии 1.1.0h - связывание должно выполняться автоматически.

...