Bauen Sie openssl mit nur RSA und AES
Ich bin mit libcrypto.ein (OpenSSL) mit einem Projekt. Standardmäßig sind alle algorithmen sind verfügbar unter libcrypto.ein. Für das Projekt brauche ich nur RSA, AES und SHA.
Wie kann ich bauen libcrypto.ein nur mit dieser algorithmen?
- Ein
.a
Datei heißt "Archiv": es ist eigentlich eine Sammlung von mehreren Objekt-Dateien (.o
), jede Umsetzung auf eine oder wenige Funktionen. Wenn verknüpfen Sie Ihre Anwendung mitlibcrypto.a
nur diejenigen files, die Funktionen definieren, die Sie tatsächlich verwendet mitgezogen in die binäre. In kürzeren Worten: das entfernen von algorithmen, die Sie nicht verwenden, von derlibcrypto.a
Datei wird nicht gewinnen Sie nichts nach dem link.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bauen, OpenSSL, durch ausführen der
config
oderConfigure
Skript, die Sieno-<cipher>
als argument zum Ausschluss der Chiffre. Führen SieConfigure
keine Optionen, um die verfügbaren Optionen erstellen.Das Konfigurations-Skript wandelt die Argumente in den Optionen für den Präprozessor. Hier ist eine Liste von fast alles, was man deaktivieren kann zur compile-Zeit. Zuerst wird dem Konfigurations-Skript als argument, und dann die compiler-argument wird umgewandelt.
Beachten Sie, dass einige Dinge, die Abhängigkeiten haben. Zum Beispiel, können Sie nicht bauen, die die SSL-Bibliothek, ohne Chiffren und digest-algorithmen, da die SSL-und TLS-Protokolle einfordern. Also anstatt das zu tun
make all
Sie tun wollenmake build_crypto
so, dass es nur baut libcrypto.ein.Durch Experimentieren fand ich (in OpenSSL 0.9.8 r), die libcrypto hat 2 Algorithmus Abhängigkeiten: MD5 für den Zufallszahlen-generator-Algorithmus (in crypto/rand_lib.c) und SHA-1 für das drucken Zertifikat-hashes (in crypto/asn1/t_x509.c). Ich würde sagen, dass diese Abhängigkeiten sind Flüchtigkeitsfehler, die durch die Entwickler.
Dies ist, wie ich bauen libcrypto.eine mit nur MD5 und SHA:
Ich auch erfolgreich gebaut mit alles außer AES, RSA, SHA und MD5 als die gestellte Frage.