Простой ответ на этот вопрос заключается в том, что практически каждое приложение будет обрабатывать его по-своему.
Также OpenSSL и GNUTLS (наиболее широко используемые библиотеки обработки сертификатов, используемые для обработки подписанных сертификатов) ведут себя по-разному при обработке сертификатов, что также усложняет проблему. Также операционные системы используют различные механизмы для использования «корневого центра сертификации», используемого большинством веб-сайтов.
Это в стороне, приводя Debian в качестве примера. Установите ca-certificates
пакет:
apt-get install ca-certificates
Затем вы копируете открытую половину вашего ненадежного сертификата CA (тот, который вы используете для подписи своего CSR) в каталог сертификатов CA (как root):
cp cacert.pem /usr/share/ca-certificates
И получите его, чтобы перестроить каталог с включенным сертификатом, запустите от имени пользователя root:
dpkg-reconfigure ca-certificates
и выберите ask
опцию, выделите ваш сертификат, отметьте его для включения и выберите ОК.
Большинство браузеров используют свою собственную базу данных CA, поэтому certutil
для изменения их содержимого необходимо использовать такие инструменты, как (в Debian, предоставляемом libnss3-tools
пакетом). Например, в Chrome вы запускаете что-то вроде:
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "My Homemade CA" -i /path/to/CA/cert.file
Firefox позволит вам просмотреть сертификат на диске, распознать его как файл сертификата и затем импортировать его в список корневых ЦС.
Большинство других команд, таких как curl
переключатели командной строки, вы можете использовать для указания на ваш CA,
curl --cacert /path/to/CA/cert.file https://...
или вообще отказаться от проверки SSL
curl --insecure https://...
Остальные будут нуждаться в индивидуальном расследовании, если ca-certificates
подобный трюк не сортирует его для данного конкретного приложения.