Позволить пользователям устанавливать сертификаты в своем корневом каталоге?

Обычно сертификаты SSL установлены в масштабе всей системы (например, в /etc/ssl/certs). Действительно ли возможно настроить OpenSSL способом, который позволяет пользователю помещать сертификаты в их корневой каталог (например, в ~/.ssl/certs)?

Пример использования мог быть пользователем, которому нужно к службам доступа с самоподписанным сертификатом (сгенерированный им, таким образом доверяемый); установка самоподписанного CA в масштабе всей системы была бы неправильной, потому что другие пользователи не должны доверять этому Приблизительно.

5
задан 3 December 2014 в 04:37
1 ответ

Если вы имеете в виду приложения, использующие библиотеку OpenSSL для SSL , каждое приложение может либо указать (конкатенированный) файл и / или (связанный с хешем) каталог, который будет использоваться для доверенных сертификаты, или он может вызывать значения по умолчанию OpenSSL, или он может предлагать выбор. В первом случае вам нужно (уметь и) настроить приложение, что указывать. Например, в curl используйте - cacert и / или - capath per http://curl.haxx.se/docs/manpage.html . Во втором случае скомпилированные значения по умолчанию OpenSSL, которые зависят от системы и, возможно, от сборки, могут быть переопределены переменными среды SSL_CERT_FILE и SSL_CERT_DIR соответственно.

Если вы имеете в виду приложения использование библиотеки OpenSSL для других вещей (использующих сертификаты), таких как CMS / SMIME, OpenSSL имеет менее простой API; в основном приложение должно напрямую создать X509_STORE , который будет использоваться для проверки, хотя я думаю , что оно все еще может вызывать те же значения по умолчанию.

Если вы имеете в виду программу командной строки openssl картина немного сложнее. Некоторые утилиты (подкоманды) не используют хранилище доверенных сертификатов (или даже сертификаты); те, у которых есть параметры, чтобы указать один, обычно -CAfile и -CApath ; см. справочные страницы для s_client , verify , ocsp и т. д., если применимо. Однако логика, которая должна использовать значения по умолчанию, если вы не не укажете параметры, долгое время кодировалась непоследовательно; Несколько месяцев назад было обсуждение списка поддержки, и я считаю, что исправление (наконец) согласовано, но по состоянию на 1.0.1j 15 октября 2014 года оно не выпущено.

6
ответ дан 3 December 2019 в 01:30

Теги

Похожие вопросы