2014-01-31 3 views
20

У меня есть система Ubuntu, и я установил OpenSSL. Теперь я хочу внести изменения в файл конфигурации. Я обыскал папки и нашел следующие файлы конфигурационных файлов. Что является основным/правильным, которое я должен использовать для внесения изменений? Мне нужно добавить двигатель здесь. Любая помощь будет оценена по достоинству. Вот места:Правильное расположение файла openssl.cnf

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

ответ

22

/usr/local/ssl/openssl.cnf

Это локальная установка. Вы загрузили и построили OpenSSL с использованием по умолчанию prefix, из которых вы сконфигурированы с ./config --prefix=/usr/local/ssl или ./config --openssldir=/usr/local/ssl.

Вы будете использовать этот , если вы используете OpenSSL в /usr/local/ssl/bin. То есть, /usr/local/ssl/openssl.cnf будет использоваться при выдаче:

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

/usr/lib/ssl/openssl.cnf

Это где Ubuntu помещает openssl.cnf для OpenSSL они обеспечивают ,

Вы будете использовать этот , если вы используете OpenSSL в /usr/bin. То есть, /usr/lib/ssl/openssl.cnf будет использоваться при выдаче:

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

/etc/ssl/openssl.cnf

Я не знаю, когда это используется. Материал в /etc/ssl - это обычно сертификаты и закрытые ключи, и он иногда содержит копию openssl.cnf. Но я никогда не видел, чтобы это использовалось для чего-то.


Что является основным/правильным, что я должен использовать, чтобы внести изменения?

Из-за этого звука, вероятно, следует добавить двигатель в /usr/lib/ssl/openssl.cnf. Это гарантирует, что большинство передач «с полки» будут использовать новый двигатель.

После этого добавьте его в /usr/local/ssl/openssl.cnf также потому, что копировать/вставить легко.


Вот как увидеть, openssl.cnf каталог, связанный с установкой OpenSSL. Библиотека и программы ищут openssl.cnf в OPENSSLDIR. OPENSSLDIR - это параметр конфигурации, а его набор - --openssldir.

Я на MacBook с 3 различными OpenSSL (в компании Apple, MacPort-х и один я строю):

# 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" 

У меня есть система Ubuntu и я установил OpenSSL.

Простое отключение велосипеда, но будьте осторожны с версией OpenSSL от Ubuntu. Он отключает TLSv1.1 и TLSv1.2, поэтому у вас будут только клиенты, способные к более старым наборам шифров; и вы не сможете использовать более новые шифры, такие как AES/CTR (для замены RC4) и эллиптические кривые (например, ECDHE_ECDSA_* и ECDHE_RSA_*). См. Ubuntu 12.04 LTS: OpenSSL downlevel version is 1.0.0, and does not support TLS 1.2 в Launchpad.

EDIT: Ubuntu включил TLS 1.1 и TLS 1.2 недавно. См. Comment 17 в отчете об ошибке.

+5

Я считаю, что '/ usr/lib/ssl/openssl.cnf' является просто символической ссылкой на'/etc/ssl/openssl.cnf', так как это то, что входит в мою установку openssl. 'file/usr/lib/ssl/openssl.cnf' дает' /usr/lib/ssl/openssl.cnf: символическую ссылку на '/ etc/ssl/openssl.cnf'' – vincentleest

3

/usr/local/ssl/openssl.cnf

мягкая звено

/etc/ssl/openssl.cnf

Вы можете видеть, что используя длинный список (ls -l) в каталоге/usr/local/ssl/где вы найдете

lrwxrwxrwx 1 корень корень 20 1 марта 5:15 openssl.cnf -> /etc/ssl/openssl.cnf

Смежные вопросы