2014-01-31 13 views
20

Ich habe ein Ubuntu-System und ich habe OpenSSL installiert. Jetzt möchte ich Änderungen an der Konfigurationsdatei vornehmen. Ich habe meine Ordner durchsucht und die folgenden Orte für die Konfigurationsdateien gefunden. Welches ist das wichtigste/richtige, das ich verwenden sollte, um Änderungen vorzunehmen? Ich muss hier eine Engine hinzufügen. Jede Hilfe wäre willkommen. Hier sind die Orte:Korrekter Speicherort der Datei openssl.cnf

/usr/local/ssl/openssl.cnf 
/usr/lib/ssl/openssl.cnf 
/etc/ssl/openssl.cnf 

Antwort

22

/usr/local/ssl/openssl.cnf

Dies ist eine lokale Installation ist. Sie haben OpenSSL heruntergeladen und erstellt, indem Sie den Standardwert prefix von Ihnen verwenden, der mit ./config --prefix=/usr/local/ssl oder ./config --openssldir=/usr/local/ssl konfiguriert wurde.

Sie werden diese verwenden, wenn Sie die OpenSSL in /usr/local/ssl/bin verwenden. Das heißt, /usr/local/ssl/openssl.cnf verwendet werden, wenn Sie Ausgabe:

/usr/local/ssl/bin/openssl s_client -connect localhost:443 -tls1 -servername localhost 

/usr/lib/ssl/openssl.cnf

Dies ist, wo Ubuntu openssl.cnf für OpenSSL stellt sie zur Verfügung stellen .

Sie werden diese verwenden, wenn Sie die OpenSSL in /usr/bin verwenden. Das heißt, /usr/lib/ssl/openssl.cnf verwendet werden, wenn Sie Ausgabe:

openssl s_client -connect localhost:443 -tls1 -servername localhost 

/etc/ssl/openssl.cnf

Ich weiß nicht, wann diese verwendet wird. Das Zeug in /etc/ssl ist in der Regel Zertifikate und private Schlüssel, und es enthält manchmal eine Kopie von openssl.cnf. Aber ich habe es noch nie für etwas verwendet gesehen.


, die die Haupt/richtige ist, die ich verwenden sollte, Änderungen vorzunehmen?

Von den Geräuschen, sollten Sie wahrscheinlich die Engine zu /usr/lib/ssl/openssl.cnf hinzufügen. Das gewährleistet, dass die meisten "von der Stange" Ausrüstung den neuen Motor verwendet.

Nachdem Sie das getan haben, fügen Sie es zu /usr/local/ssl/openssl.cnf auch weil Kopieren/Einfügen ist einfach.


Hier ist, wie zu sehen, welche openssl.cnf Verzeichnis mit einer OpenSSL-Installation zugeordnet ist. Die Bibliothek und die Programme suchen nach openssl.cnf in OPENSSLDIR. OPENSSLDIR ist eine Konfigurationsoption und wird mit --openssldir festgelegt.

Ich bin auf einem MacBook mit 3 verschiedenen OpenSSL (Apple, MacPort die und die, die ich bauen):

# Apple  
$ /usr/bin/openssl version -a | grep OPENSSLDIR 
OPENSSLDIR: "/System/Library/OpenSSL" 

# MacPorts 
$ /opt/local/bin/openssl version -a | grep OPENSSLDIR 
OPENSSLDIR: "/opt/local/etc/openssl" 

# My build of OpenSSL 
$ openssl version -a | grep OPENSSLDIR 
OPENSSLDIR: "/usr/local/ssl/darwin" 

ich ein Ubuntu-System haben, und ich habe openssl installiert.

Nur Bike Shedding, aber sei vorsichtig mit Ubuntu-Version von OpenSSL. Es deaktiviert TLSv1.1 und TLSv1.2, sodass Sie nur Clients mit älteren Cipher-Suites haben. und Sie werden nicht in der Lage sein, neuere Verschlüsselungen wie AES/CTR (um RC4 zu ersetzen) und elliptische Kurvengetriebe (wie ECDHE_ECDSA_* und ECDHE_RSA_*) zu verwenden. Siehe Ubuntu 12.04 LTS: OpenSSL downlevel version is 1.0.0, and does not support TLS 1.2 im Launchpad.

Bearbeiten: Ubuntu aktiviert TLS 1.1 und TLS 1.2 vor kurzem. Siehe Comment 17 zum Fehlerbericht.

+5

Ich glaube ''/usr/lib/ssl/openssl.cnf' ist nur ein symbolischer Link zu '/ etc/ssl/openssl.cnf', da dies in meiner Installation von openssl enthalten ist. 'file/usr/lib/ssl/openssl.cnf' gibt' /usr/lib/ssl/openssl.cnf: symbolische Verbindung zu '/ etc/ssl/openssl.cnf' – vincentleest

3

/usr/local/ssl/openssl.cnf

ist Softlink von

/etc/ssl/openssl.cnf

Sie können sehen, dass Verwenden der langen Liste (ls -l) im Verzeichnis/usr/local/ssl /, wo Sie

finden

lrwxrwxrwx 1 root root 20. März 1 05.15 openssl.cnf -> /etc/ssl/openssl.cnf

Verwandte Themen