Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр Сертификаты

Криптографический арм на базе стандартов с открытым ключом. выпуск ssl-сертификатов. эпилог

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Вот мы и

добрались

до создания самоподписанных сертификатов.

Где применяются самоподписанные сертификаты? Конечно, с самоподписанным сертификатом вы не сможете зарегистрироваться на сайте Госуслуг или подать подписанную декларацию в ФНС. Но для внутрикорпоративного документооборота их вполне можно использовать. Можно также использовать их для защиты личной почтовой переписки, в VPN-сетях и т.п. Но наиболее часто используют самоподписанные SSL-сертификаты для обеспечения защищенного доступа по https-протоколу к Web-приложениям. Самым популярным средством для создания самоподписанных сертификатов остается

OpenSSL

. Процедура получения SSL-сертификатов с помощью того же OpenSSL хороша описана

здесь

. Но там вы не найдете упоминая о ГОСТ-овых сертификатах, о токенах

PKCS#11

и т.п. Здесь мы рассмотрим простой графический интерфейс, который позволяет получать сертификаты на базе ГОСТ Р 34.10-2021 и без всякого использования OpenSSL.

Итак, нажимаем кнопку «Самоподписанный сертификат»:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Как видим, эта вкладка мало чем отличается от аналогичной вкладки при создании запроса на сертификат. Здесь появились кнопки выбора типа генерируемого сертификата «Тип сертификата»:
— пользовательский сертификат (кнопка User);
— корневой сертификат (кнопка CA);
— SSL-сертификат (кнопка SSL).
Естественно, начинать работу надо с выпуска корневого сертификата, на базе которого затем будут выпускаться все остальные сертификаты. При создании корневого сертификата не забудьте включить флажок «Подпись сертификата» в назначении (использование) ключа:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Опускаем заполнение основных полей сертификата, они ничем не отличаются от заполнения аналогичных полей для запроса, а сразу переходим к завершающим страницам. Вот первая из них:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

На этой странице необходимо выбрать папку, в которой будет сохранен корневой сертификат и его закрытый ключ. Именно эту папку затем необходимо будет указывать при выпуске других сертификатов. Необходимо также определить срок действия сертификата. Можно задать также точку, в которой можно будет получить корневой сертификат. При выпуске сертификат и закрытый ключ будут упакованы в так многими любимый защищенный контейнер PKCS#12. В связи с этим необходимо задать пароль для контейнера. В итоге, после нажатия кнопки «Finish», будет получен корневой сертификат:

Про сертификаты:  Купить полис ДМС - рассчитать стоимость добровольного медицинского страхования для физических лиц | СК МАКС

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

При выпуске сертификата мы получаем четыре файла в указанном каталоге:

Файл rootCA.key, если вы не собираетесь его использовать, лучше сразу уничтожить. В противном случае храните его в месте, недоступном другим людям. Также скрывайте от посторонних глаз пароль к контейнеру rooCA.pfx.

Теперь, когда мы имеем корневой сертификат, можно приступить к выпуску пользовательских сертификатов, включая SSL-сертификаты:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

После выбора типа сертификата (SSL-сертификат), типа ключа, его параметров и как он (ключ) будет использоваться, переходим к следующей странице:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

На этой странице задается основное имя домена, которое будет занесено в поле Common Name, а также можно задать дополнительные (альтернативные ) имена вашего домена. Также можно прописать IP-адреса, где может располагаться ваш домен. Все это делается ради “вожделенного зеленого замочка“.
Разобравшись с доменами, IP-адресами переходим к следующим вкладкам. Там все как обычно. Единственное отличие состоит в том, что после нажатия кнопки «Finish» будет затребован пароль к корневому контейнеру rootCA.pfx:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

После успешного ввода пароля также получим четыре файла:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Все замечания, касающиеся пароля и закрытого ключа, высказанные выше применительно к корневому сертификату, относятся и к остальным сертификатом. Все сертификаты мы выпустили. Что дальше?
Использовать их. Если это пользовательские сертификаты, то вы их можете использовать в этой же утилите через контейнеры PKCS#12, в документообороте для подписания документов, например:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Что касается SSL-сертификатов, то их надо использовать по назначению для организации защищенного канала с Web-приложением. В качестве такого приложения мы взяли УЦ, на котором доступ к его ресурсам для администраторов организован по ГОСТ-вому https. УЦ развернуто на базе Apache2-2.4.10 с модулем mod_ssl, который поддерживает российские шифрсьюты. На сервере (у нас это Linux) кладем полученный SSL-сертификат (<ваш каталог>/self_xxx.cer) и его закрытый ключ (<ваш каталог>/sel_xxx.key) в папку /etc/ssl и прописываем пути к ним в файле /etc/apache2/sites-available/default-ssl:

...
SSLCertificateFile <ваш каталог>/self_xxx.cer
SSLCertificateKeyFile <ваш каталог>/self_xxx.key
....

Перезапускаем apache2:

#service pache2 restart
#

На рабочем месте (у меня это Linux) в

Про сертификаты:  Энциклопедия судебной практики. Купля-продажа. Обязанности продавца по передаче товара (Ст. 456 ГК) | ГАРАНТ

браузере с поддержкой российской криптографии

устанавливаем наш корневой сертификат (/rootCA.cer) с указанием доверия к нему. На рабочем компьютере в файл /etc/hosts добавляем следующую строку:

192.168.0.233 www.shield-ra.ru shield-ra.ru shield-ra

и идем по одному из этих адресов:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Горит, горит «вожделенный зеленый замочек».
Проверим и остальные адреса:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Зелено вокруг. И наконец, посмотрим какой шифрсьют мы задействовали:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Для создания самоподписанных сертификатов по созданным ранее запросам на сертификат расширен функционал страницы «Просмотр запроса/сертификата»:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Как видно из скриншота, теперь можно не только просмотреть запрос, но и выдать по нему сертификат. В качестве корневого сертификата используется все тот же контейнер rootCA.pfx. При нажатии кнопки «Выпуск» появится окно с запросом, просмотрев который вы можете нажать кнопку «Выпуск сертификата»:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

После нажатия кнопки будет запрошен пароль к корневому контейнеру и в итоге выпущен сертификат:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

Кстати, просмотреть полученный сертификат можно на этой же странице (кнопка «Файл сертификата»).
Итак, наша криптографическая утилита cryptoarmpkcs позволяет:
— работать с токенами PKCS#11 с поддержкой российской криптографии;
— создавать запросы на сертификаты;
— создавать и проверять электронную подпись (вплоть до CAdes XLT1) с использованием токенов PKCS#11;
— создавать электронную подпись (вплоть до CAdes XLT1) с использованием контейнеров PKCS#12;
— выпускать самоподписанные сертификаты;
— просматривать сертификаты и запросы.
Наверное, что-то в ней не хватает, подскажите, учтем. Спасибо за долготерпение.
P.S. Теперь загружать обновленные версии можно непосредственно из утилиты. Для этого достаточно подвести курсор мыши на заголовок «PKCS#11, X509v3 …», нажать правую клавишу мыши и выбрать пункт меню «О программе»:

Криптографический АРМ на базе стандартов с открытым ключом. Выпуск SSL-сертификатов. Эпилог / Хабр

О сертификатах вообще и зачем их нужно подписывать.

Для начала разберемся, что такое SSL-сертификат.

Здесь и далее речь пойдет приемущественно о web-сайтах. Вопросы SSL FTP, Email, цифровых подписей исходного кода и пр. до поры оставим в стороне.

Про сертификаты:  Акции МаксидоМ. Подарочные карты на 500, 1000, 3000 и 5000 р., скидки МаксидоМ: Каталог товаров, цены, акции интернет-магазина 2021/2022, Санкт-Петербурге

SSL-сертификат, это индивидуальная цифровая подпись вашего домена. Он может быть:

  1. Самоподписанным. Это значит, что вы сами выдали себе сертификат, и сами его подписали.
  2. Подписанный недоверенным центром сертификации. Это значит, что сертификат сайта проверен, но сам «проверяющий» доверия не удостоен.
  3. Подписанный доверенным ЦС. Это значит, что данные сертификата проверены компанией, которая имеет на это право, они как минимум существуют.

Разберем их более подробно.

Самоподписанный сертификат не гарантирует ничего. Любой человек может взять и выдать себе такой сертификат. Все браузеры выдают клиенту предпреждение о том, что сертификат не надежен.Подписанный не доверенным ЦС сертификат тоже не подтверждает ничего, т.к.

Сертификат, подписанный доверенным источником (как пример — Thawte или VerySign) подтверждает, что:

На доверенные сертификаты браузеры ошибку не выдают.

Но это технически. А теперь о том, что показывает доверенный сертификат посетителю вашего сайта.

Многих пользователей (особенно зарубежных — наши пока к этому не привыкли) самоподписанный сертификат (или отсутствие SSL в вещах, касающихся услугфинансовprivacy) может если и не отпугнуть, то поставить жирный минус в вашу пользу.

Мой личный вывод: на всех сайтах, связанных с онлайн-коммерцией, платежами, личной информацией SSL должен быть.

Типы сертификатов.

Допустим, руководствуясь соображениями из 1 части статьи вы решили купить подписанный сертификат. Каково же будет ваше удивление, когда на сайте ЦС вы узнаеете, что они бывают разные 🙂

Типы сертификатов:

Esential SSL — самый не дорогой и быстро оформляемый сертификат. Доступен как для юридических, так и для физических лиц. Проверяется только право владения доменным именем, личные данные или регистрация компании не проверяются. Выдается на 1 домен.

Instant SSL — доступен и для физ. лиц, и для юр. лиц. Проверяется право владения доменом, регистрационные данные компании либо личность физ. лица. Выдается на 1 домен.

SGC SSL-сертификат. — Аналогично Instant SSL, но с поддержкой 40-битных расширений (актуально для старых ОС и браузеров). Выдается на 1 домен, либо wildcard (см. ниже).

Оцените статью
Мой сертификат
Добавить комментарий