Назад | Перейти на главную страницу

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

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

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

Если вы имеете в виду приложения, использующие OpenSSL библиотека для SSL, каждое приложение может либо указать (объединенный) файл и / или (связанный с хешем) каталог, который будет использоваться для доверенных сертификатов, либо оно может вызвать значения по умолчанию OpenSSL, либо предложить выбор. В первом случае вам нужно (уметь и) настроить приложение, что указывать. Например, в curl используйте --cacert и / или --capath на 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 года оно не выпущено.