Я запускаю экспериментальную программу на python, используя python3.6.5 и Openssl. Я использую Ubuntu 18, который поставляется с OpenSSL 1.1.0g:
openssl version -a
OpenSSL 1.1.0g 2 Nov 2017
built on: reproducible build, date unspecified
platform: debian-amd64
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/x86_64-linux-gnu/engines-1.1\""
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
В этой поставленной версии слабая криптография отключена. Для настройки эксперимента мне нужно включить шифры DES и использовать OpenSSL1.1.0g с включенным DES.
Я использовал следующие инструкции (после установки zlib1g-dev и build-essential), чтобы скомпилировать свой собственный OpenSSL1.1.0g с включенным DES и позволить Python использовать его вместо поставляемого. Тем не менее, эти шаги теперь не имеют никакого эффекта (хотя это работало со мной в прошлом).
1) Скачать OpenSSL 1.1.0g
Исходный код от: https://www.openssl.org/source/old/1.1.0/
в папке Download
2) После распаковки папки перейдите в нее и выполните:
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib enable-weak-ssl-ciphers -Wl,-rpath=/usr/local/openssl/lib
3) Затем выполните:
sudo make
sudo make install
4) Перейти к: /etc/profile.d
6) Создайте файл с именем: openssl.sh
и поместите этот контент в него:
# /etc/profile.d/openssl.sh
export PATH=$PATH:/usr/local/openssl/bin
8) Перейти к: etc/ld.so.conf.d
9) Создайте новый файл с именем: openssl-1.1.0g.conf
и поместите этот контент в него:
# /etc/ld.so/conf.d/openssl-1.1.0g.conf
/usr/local/openssl/lib
Ожидаете ли вы, что Python не использует мою компиляцию OpenSSL с вышеуказанными шагами? Как я могу заставить мою программу на python3 использовать шифр DES в OpenSSL? Другими словами, использовать мой скомпилированный OpenSSL?
export PATH=$PATH:/usr/local/openssl/bin
добавь свой локальный openssl после система одна. Вы хотите вместо этого:export PATH=/usr/local/openssl/bin:$PATH