Помогите разобраться с SSL сертификатом

12
Metal Messiah
На сайте с 01.08.2010
Offline
152
5094

Доброй ночи. Я тут немного не проспался, курю мануалы и проверяю proof of concept.

Значит идея такая:

есть официальный полученный SSL сертификат на домен, допустим, mydomain.com. Обычный, без EV.

Этим сертификатом я подписал сертификат, сгенерированный для домена test.mydomain.com. Подписано нормально. К покупнуму сертификату в комплекте идет еще и intermediate.

Поднял виртуальный хост test.mydomain.com, в настройках указываю сертификат - свой, подписанный покупным. Приватный ключ от своего. Промежуточный - клею покупной на свой домен и его intermediate'Ы в один файл. Вообщем, панель управления это успешно кушает (что бывает не всегда, там свои проверки), но браузеры категорически отказываются открывать страницу сайта - в хроме, например, она вроде как на секунду открывается и после этого всплывает хромовский матюк.

Ваше подключение не защищено

Злоумышленники могут пытаться похитить ваши данные с сайта test.************* (например, пароли, сообщения или номера банковских карт). NET::ERR_CERT_INVALID

Инфа о сертификате выглядит как в аттаче: корневой сертификат, далее сертификат ЦС у которого я покупал, третий - на мой домен, четвертый - им подписанный. Так вот покупной сообщает что "сертификат недействителен для данного назначения".

Почему я своим сертификатом не могу подписать сертификат субдомена?

Это борьба продавцов сертификатов с желающими не переплачивать им за wildcard / отдельные или на то есть какие-то реальные соображения по безопасности?

Что нужно иметь в enhanced key usage OIDs чтобы этим сертификатом можно было подписывать другие и они принимались?

// или я просто что-то криво настроил?

jpg cert_domain_error.jpg
anonymous, думай что говоришь и не забывай подписать отзыв :)
pupseg
На сайте с 14.05.2010
Offline
347
#1

Сумбурно написано, но почитайте принципы шифрования. Вы не до конца понимаете процесс.

Есть сертифицирующий орган (Thawte, geotrust и пр.) , вы генерируете на своем сервере запрос на сертификат, файл CSR , отправляете им на подпись. Они своим корневым, доверенным сертификатом подписывают ваш запрос и вы получаете сертификат - CRT.

Common Name в запросе и в полученном сертификате - это то, что вы сертифицируете.

Вы получаете от сертифицирующего органа КЛИЕНТСКИЙ сертификат, а не корневой, вы не можете этим клиентским сертификатом подписывать другие запросы CSR, т.к. не являетесь доверенным.

Что бы подписывать самому себе сертификаты - нужно стать сертифицирующим органом :)

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
adel92
На сайте с 04.01.2012
Offline
334
#2

Что Вам мешает получить бесплатный сертификат от Lets Encrypt - и не мучаться с этим вопросом?

NVMe VDS (https://well-web.net/nvme-vps) с поддержкой 24/7 - от 545 руб.! Безлимитный хостинг (https://well-web.net/ssd-hosting) - от 129 руб.! Домен в подарок! Перенос бесплатно! Заказывайте сейчас, и получите скидку 50%! Заходи! (https://well-web.net/limited-offers)
Metal Messiah
На сайте с 01.08.2010
Offline
152
#3

Зачем? говорю же проверял proof of concept. Lets Encrypt или были еще конторы с бесплатными сертификатами на год - другой вопрос.

У некоторых центров сертификации цепочки идут по 2-3 сертификата: корневой доверенный, которым подписан другой сертификат, которым подписан третий, и уже третьим сертификатом подписан сертификат клиента (мой в данном случае). Я хотел просто добавить в цепочку еще 1 уровень, т.к. в моем сертификате не указано "ограничение на длину пути". Сертификат, подписанный доверенным сертификатом, получается доверенным. Почему им можно делать цепочки из сертификатов а мне нет? Я подозреваю что мне не хватает какого-то параметра в сертификате. Там, например, есть OIDs - для идентификации клиента, сервера, защиты почты и еще чего - но OID для подписывания я в интернете не нашел

Вот если открыть webmoney.ua - у них COMODO -> Comodo RSA Domain valivation -> *.webmoney.ua

У Comodo RSA указано в графе "использование" - "подписывание сертификатов". Каким параметром makecert / openssl ставится этот флаг?

P.S. да и почему при использовании самоподписанного или истекшего сертификата браузеры выдают предупреждение, но пускают на сайт, а в моей цепочке - не пускают?

adel92
На сайте с 04.01.2012
Offline
334
#4

Ну тогда Вам гуглить, гуглить и гуглить.

Когда поймете, что не самый умный - Lets Encrypt и продляется автоматически и доверенный.

Зачем придумывать велосипед?

Metal Messiah
На сайте с 01.08.2010
Offline
152
#5

Причем тут самый умный? Это что монополия у 3-4 фирм и еще сотни реселлеров, торгующих их сертификатами? Если в цепочке может быть один сертификат, подписанный другим и оба они не являются корневыми доверенными - изначальный вопрос был как сделать так чтобы своим сертификатом можно было подписывать другие сертификаты, как минимум для субдоменов?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#6

See certificate extensions (basic constraints). Basic Constraints identifies if the subject of certificates is a CA who is allowed to issue child certificates.

For a certificate that can be used to sign certificates, the info is in some sense duplicated:

X509v3 Basic Constraints: CA: TRUE --- Can sign certificates

X509v3 Key Usage: Key Cert Sign --- Can sign certificates

But "Basic Constraints" will also specify the maximum depth of valid certification chain.

Though it is duplicated, you need to specify both, according to RFC 3280.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Andreyka
На сайте с 19.02.2005
Offline
822
#7
Metal_Messiah:
Причем тут самый умный? Это что монополия у 3-4 фирм и еще сотни реселлеров, торгующих их сертификатами?

Конечно нет.

Ставьте свой центр сертификации, попросите добавить ваш коренной сертификат во все современные браузеры и устройства и вуаля - вы можете делать свои сертификаты.

Не стоит плодить сущности без необходимости
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#8

Metal_Messiah, Андрейка правильно вам сказал, но как всегда в "своем духе" )))))

Шифрование по сути вам может обеспечить и Self Signed сертификат который вы подпишите без какого либо пути сертификации самостоятельно, а вот что бы браузеры "хавали" ваши сертификаты, в браузере должны быть установлены ваши корневые сертификаты..... По этому если делаете "для себя" можно вообще не париться, если хотите дать доступ клиентам - придется или WildCard покупать или таки какой-то Free сертификат, так будет проще чем создавать свой центр сертификации )))

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
Metal Messiah
На сайте с 01.08.2010
Offline
152
#9

Понятно. Значит если я когда-то захочу сделать свой центр сертификации, то нужно будет договариваться с разработчиками браузеров. Или недо-браузеров типа Amigo xD

Думал что если сертификатом можно подписать сертификат то значит можно купить сертификат у кого-то и им подписывать другие. А нет, все таки монополия :)

adel92
На сайте с 04.01.2012
Offline
334
#10
Metal_Messiah:

Думал что если сертификатом можно подписать сертификат то значит можно купить сертификат у кого-то и им подписывать другие. А нет, все таки монополия :)

Было бы все так просто =)

Но на самом деле с появлением Lets Encrypt - вопрос с сертификатами, как по мне отпал.

По крайней мере можно получить его бесплатно, и не парится о продлении.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий