Wie man mein Python-Programm dazu bringt, Linux openssl zu umgehen und mein kompiliertes zu verwenden

523
user9371654

Ich führe ein Testprogramm in Python mit Python3.6.5 und Openssl aus. Ich verwende Ubuntu 18, das mit OpenSSL 1.1.0g ausgeliefert wird:

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" 

Diese ausgelieferte Version hat eine schwache Verschlüsselung deaktiviert. Für das Experimentieren muss ich DES-Verschlüsselungen aktivieren und OpenSSL1.1.0g mit aktiviertem DES verwenden.

Ich habe die folgenden Anweisungen befolgt (nach der Installation von zlib1g-dev und build-essential), um mein eigenes OpenSSL1.1.0g zu kompilieren, auf dem DES aktiviert ist, und Python anstelle des ausgelieferten verwenden zu lassen. Diese Schritte haben jedoch jetzt überhaupt keine Auswirkungen (obwohl dies bei mir in der Vergangenheit funktioniert hat).

1) Laden Sie den OpenSSL 1.1.0gQuellcode von: https://www.openssl.org/source/old/1.1.0/im Ordner Download herunter

2) Nachdem Sie den Ordner dekomprimiert haben, navigieren Sie in den Ordner und führen Sie Folgendes aus:

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib enable-weak-ssl-ciphers -Wl,-rpath=/usr/local/openssl/lib 

3) Dann führe aus:

 sudo make sudo make install 

4) Gehe zu: /etc/profile.d

6) Erstellen Sie eine Datei namens: openssl.shund fügen Sie diesen Inhalt ein:

# /etc/profile.d/openssl.sh export PATH=$PATH:/usr/local/openssl/bin  

8) Gehe zu: etc/ld.so.conf.d

9) Erstellen Sie eine neue Datei mit dem Namen: openssl-1.1.0g.confund fügen Sie diesen Inhalt ein:

# /etc/ld.so/conf.d/openssl-1.1.0g.conf /usr/local/openssl/lib 

Erwarten Sie einen Grund, warum Python mein Compile OpenSSL nicht mit den oben genannten Schritten verwendet? Wie kann ich mein Python3-Programm dazu bringen, die DES-Verschlüsselung in OpenSSL zu verwenden? Verwenden Sie mit anderen Worten mein kompiliertes OpenSSL?

0
`export PATH = $ PATH: / usr / local / openssl / bin` füge dein local openssl ** nach ** dem System hinzu. Sie möchten stattdessen: `export PATH = / usr / local / openssl / bin: $ PATH` xenoid vor 5 Jahren 0

0 Antworten auf die Frage