Подтвердить что ты не робот

Правильное расположение файла openssl.cnf

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

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

Ответ 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 в отчете об ошибке.

Ответ 2

RHEL:/etc/pki/tls/openssl.cnf

Ответ 3

/usr/local/ssl/openssl.cnf

является мягкой связью

/etc/ssl/openssl.cnf

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

lrwxrwxrwx 1 корень root 20 марта 1 05:15 openssl.cnf → /etc/ssl/openssl.cnf

Ответ 4

На моем CentOS 6 у меня есть два openssl.cnf:

/openvpn/easy-rsa/
/pki/tls/