Ответ 1
/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 с тремя разными 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: версия DownSSL OpenSSL 1.0.0 и не поддерживает TLS 1.2 в Launchpad.
EDIT: недавно Ubuntu включил TLS 1.1 и TLS 1.2. См. Комментарий 17 в отчете об ошибке.