Импортировать сам подписанный сертификат в redhat
Как импортировать самозаверяющий сертификат в Red-Hat Linux.
Я не эксперт в отношении сертификатов и затрудняюсь найти правильный ответ через googling, так как я не знаю разницы между .cer,.crt или .pem. Сказав это, то, что я хотел бы сделать, не должно быть наукой о ракетах (в окнах я могу сделать это несколькими щелчками мыши в своем браузере)
Я хочу подключиться к серверу, который использует самозаверяющий сертификат. Например, используя wget, без использования опции -no-check-certificate.
Для выполнения этой работы мне придется добавить самозаверяющий сертификат сервера в поле RedHat. Я узнал, что сертификаты находятся в /etc/pki/tls. Но я не понимаю, какие действия я должен выполнить, чтобы сделать функцию wget без жалоб.
Я могу получить сертификат SSL с сервера, используя:
openssl s_client -connect server: 443
Сертификат находится между "BEGIN CERTIFICATE и END CERTIFICATE". Я не знаю, какой это сертификат.
Затем мне нужно будет поместить его в каталог /etc/pki/tls/certs и применить некоторый сорт openssl secert, о котором я не знаю.
Вы можете помочь?
Ответы
Ответ 1
Я не знаю, как импортировать конкретный сайт-сертификат в OpenSSL trust db (я бы хотел, чтобы я сделал!), но поскольку вы говорите о самозаверяющем сертификате, мы можем обратиться к нему, импортировав ваш сертификат как новый доверенный сертификат CA. Предупреждение: вы также будете доверять любым сайтам, подписанным этим сертификатом.
Найти и загрузить сертификат
Вы можете загрузить самозаверяющий сертификат непосредственно с сайта с помощью
openssl s_client -connect server:443 <<<'' | openssl x509 -out /path/file
Обратите внимание, что вы должны только делать это в случае самоподписанного сертификата (как указано в исходном вопросе). Если сертификат подписан другим CA, вы не можете работать с указанным выше; вместо этого вам нужно будет найти соответствующий сертификат CA и загрузить его.
Импортировать сертификат и доверять ему
Команда update-ca-trust
была добавлена в Fedora 19 и RHEL6 через RHEA-2013-1596. Если у вас есть это, ваши шаги немыслимы (но требуют root/sudo):
- скопируйте сертификат CA на
/etc/pki/ca-trust/source/anchors/
-
update-ca-trust enable; update-ca-trust extract
- (Обратите внимание, что команда
enable
не нужна в RHEL7 и современной Fedora)
Если у вас нет обновления-ca-trust, это немного сложнее (и по-прежнему требует root/sudo):
-
cd /etc/pki/tls/certs
- скопируйте CA-сертификат здесь
-
ln -sv YOURCERT $(openssl x509 -in YOURCERT -noout -hash).0
PS: Вопрос, упомянутый Red Hat, но для тех, кто смотрит на то, что делает что-то помимо Fedora/RHEL, wiki.cacert.org/FAQ/ImportRootCert может быть полезно.
Ответ 2
Вы можете делать то, что хотите, используя следующие шаги:
- Поместите сертификат SSL (включая строки "----- BEGIN CERTIFICATE -----" и "----- END CERTIFICATE -----" ) в файл в каталоге "
/etc/pki/tls/certs
" - для примера, позвольте называть его "myserver.pem".
-
Вычислить хэш сертификата этого сертификата, запустив
openssl x509 -noout -hash -in /etc/pki/tls/certs/myserver.pem
для примера, допустим, что хеш-значение равно "1a2b3c4d".
-
Сделайте символическую ссылку в каталоге certs на основе этого значения хэша, например:
ln -s /etc/pki/tls/certs/myserver.pem /etc/pki/tls/certs/1a2b3c4d.0
Я предполагаю, что в этом каталоге нет других сертификатов, хеш которых имеет одно и то же значение хэша - если уже есть "1a2b3c4d.0", тогда вместо этого сделайте свою ссылку "1a2b3c4d.1" (или если уже ".1", сделайте свой ".2" и т.д.)
wget
, а другие инструменты, использующие SSL, распознают этот сертификат как действительный. Может быть более простой способ сделать это, используя графический интерфейс, но работает, чтобы сделать это через командную строку.
Ответ 3
1.) Удаление/прекращение использования RedHat - отвратительный разрыв открытого программного обеспечения, намеренно измененный и сделанный "другим" и несовместимым по дизайну, чтобы сохранить запатентованные "платные для использования" "функции" и обеспечить блокировку и постоянную потоки доходов
2.) Установите Gentoo, FreeBSD, Debian или какое-то другое действительно открытое дистрибутив Linux
3.) Найдите хранилище сертификатов OpenSSL в контексте вашего нового и улучшенного дистрибутива linux на межсетевых экранах.
- Используйте информацию, найденную для импорта сертификата, которому вы хотите доверять, в хранилище сертификатов OpenSSL.