Я сгенерировал самоподписанный сертификат для своего сервера сборки, и я хотел бы в целом доверять сертификату на своей машине, так как я сам создал ключ, и мне надоело видеть предупреждения.
Я на Ubuntu 12.04. Как я могу взять сертификат и доверять ему во всем мире, чтобы браузеры (Google Chrome), утилиты CLI (wget, curl) и языки программирования (Python, Java и т. Д.) Доверяли соединению с https://mysite.com, не спрашивая вопросов?
Ответы:
Простой ответ на этот вопрос заключается в том, что практически каждое приложение будет обрабатывать его по-своему.
Также OpenSSL и GNUTLS (наиболее широко используемые библиотеки обработки сертификатов, используемые для обработки подписанных сертификатов) ведут себя по-разному при обработке сертификатов, что также усложняет проблему. Также операционные системы используют различные механизмы для использования «корневого центра сертификации», используемого большинством веб-сайтов.
Это в стороне, приводя Debian в качестве примера. Установите
ca-certificates
пакет:Затем вы копируете открытую половину вашего ненадежного сертификата CA (тот, который вы используете для подписи своего CSR) в каталог сертификатов CA (как root):
И получите его, чтобы перестроить каталог с включенным сертификатом, запустите от имени пользователя root:
и выберите
ask
опцию, выделите ваш сертификат, отметьте его для включения и выберите ОК.Большинство браузеров используют свою собственную базу данных CA, поэтому
certutil
для изменения их содержимого необходимо использовать такие инструменты, как (в Debian, предоставляемомlibnss3-tools
пакетом). Например, в Chrome вы запускаете что-то вроде:Firefox позволит вам просмотреть сертификат на диске, распознать его как файл сертификата и затем импортировать его в список корневых ЦС.
Большинство других команд, таких как
curl
переключатели командной строки, вы можете использовать для указания на ваш CA,или вообще отказаться от проверки SSL
Остальные будут нуждаться в индивидуальном расследовании, если
ca-certificates
подобный трюк не сортирует его для данного конкретного приложения.источник
dpkg-reconfigure ca-certificates
списке. Что я делаю неправильно?whatever.pem
вwhatever.crt
..cer
, и это не сработало. Я должен был переименовать это, чтобы.crt
это было признано.Неинтерактивный подход
Для использования в неинтерактивном контексте (например, рецепт шеф-повара) вы можете использовать следующую последовательность действий.
man update-ca-certificates
Этот метод предпочтительнее метода @ Drav, поскольку
/usr/share/
обычно он зарезервирован для файлов, добавленных OS /apt-get
.источник
/usr/local/share/ca-certificates/
как указано в.crt
, я обнаружил,.cert
что он был добавлен, но это не помоглоВ Fedora 23, добавьте .pem или .der файл
/etc/pki/ca-trust/source/anchors/
и запуститьsudo update-ca-trust extract
.Подробности
man update-ca-trust
смотрите, например, использовать ли / etc или / usr.источник
В сентосах:
источник
openssl connect
должен указывать эту папку / anchors? Я все еще получаю сообщение об ошибке "self signed certs
Неинтерактивный подход (октябрь 18)
для последних систем на основе Debian
Существует различие между добавлением сертификата в хранилище хоста и его активацией, чтобы приложения действительно использовали его. Существующий сертификат в магазине не обязательно используется (хотя я должен признать, что многие пакеты все равно ошибаются)
Это может сбить с толку, когда вы настраиваете пакет, который рассматривает
/etc/ca-certificate.conf
и просто отказывается использовать ваш сертификат, хотя он имеет был добавлен без ошибок. Вы должныupdate-ca-certificates
явно указать (не просто скопировать, но) активировать сертификат, добавив его в/etc/ca-certificate.conf
или/etc/ca-certificate/update.d
.Теперь это сбивает с толку, поскольку существует способ неявного доверия сертификату с использованием другого пути:
источник