- Что такое ssl-сертификат – ru-center
- Domain validation
- Organization validation
- Два плейбука и один источник правды
- Номенклатура сертификатов
- Откуда берутся сертификаты?
- Поиски решения
- Разновидности ssl-сертификатов
- Самоподписные ssl-сертификаты
- Словарный запас
- Сценарий №1 — найти следующего в связке
- Тестинги
- Типы ssl-сертификатов и разница между ними
- Extended validation
Что такое ssl-сертификат – ru-center
Для защиты данных, передаваемых по сети при совершении платежей, указании персональной информации, используется специальный протокол передачи данных https. Информация по этому протоколу передается в закодированном виде. В браузере протокол виден в адресной строке:

Для работы https-протокола на сервере должен быть установлен SSL-сертификат.
SSL-сертификат — это технология, которая создает безопасную связь между браузером пользователя и веб-сервером путем шифрования данных. Безопасность канала связи обеспечивается с помощью:
- аутентификации — сертификат привязан к конкретному домену;
- шифрования — информация преобразуется таким образом, что расшифровать ее можно только с помощью специального (секретного) ключа.
SSL-сертификат содержит следующую информацию:
- доменное имя, на которое оформлен SSL-сертификат;
- юридическое лицо, которое владеет сертификатом, и его местонахождение;
- срок действия сертификата;
- информация о компании-поставщике SSL-сертификатa.
Cертификат подтверждает, что домен принадлежит реальной компании и что его владелец вправе пользоваться секретным ключом на законных основаниях.
SSL-сертификаты используются интернет-магазинами, сайтами банковских и платежных систем, почтовыми службами, сайтами с формой регистрации и авторизации пользователей.
С 2021 года популярные браузеры начали помечать сайты без SSL-сертификата как небезопасные. Это может стать причиной понижения трафика и места в поисковой выдаче.
.png)
В статье Как выбрать SSL-сертификат? мы подробно рассказали о видах сертификатов, чтобы вам было проще подобрать оптимальный вариант.
Domain validation
DV сертификаты подтверждают только факт того, что именно владельцу сертификата действительно принадлежит данный домен и являются наиболее доступной разновидностью SSL-сертификатов. Данные сертификаты лучшего всего подойдут для форумов и небольших сайтов или блогов с не очень большим количеством посетителей.
SSL-сертификат такого уровня:
- обеспечивает только начальный уровень защиты;
- доступен физическим и юридическим лицам;
- не требует предоставление дополнительных документов;
- выпускается в течение 5-10 минут;
- обойдётся примерно в 1-4 тысячи рублей за год.
Organization validation
OV-сертификат подтверждает бизнес-статус организации и вызывает куда больше доверия пользователей, чем DV-сертификат. Данный тип сертификата хорошо подойдёт для онлайн-магазина и другого небольшого интернет-бизнеса.
Сертификат уровня защиты OV:
- обеспечивает средний уровень защиты;
- выдаётся только юридическим лицам;
- для регистрации необходимо предоставить копии документов организации, счёт телефонной компании с указанным названием организации и номером телефона её владельца;
- выпускается в течение 1-5 дней;
- обойдётся примерно от 4 000 рублей до 50 000 рублей в год.
Два плейбука и один источник правды
Лебедь, рак и щука телегу никуда не привезут. Нужен единый центр управления
полётами
Номенклатура сертификатов
Давайте рассмотрим, какие сертификаты X.509 встречаются в природе, если рассматривать их по расположению в
пищевой
цепочке доверия.
По степени
крутизны
дороговизны и надежности сертификаты делятся на 3 вида:
DVOVEV
Откуда берутся сертификаты?
Еще совсем недавно было всего 2 способа заполучить X.509 сертификат, но времена меняются и с недавнего времени есть и третий путь.
- Создать свой собственный сертификат и самому же его подписать. Плюсы — это бесплатно, минусы — сертификат будет принят лишь вами и, в лучшем случае, вашей организацией.

- Приобрести сертификат в УЦ. Это будет стоить денег в зависимости от различных его характеристик и возможностей, указанных выше.
- Получить бесплатный сертификат LetsEncrypt, доступны только самые простые DV сертификаты.
Для первого сценария достаточно пары команд и чтобы 2 раза не вставать создадим сертификат с алгоритмом эллиптических кривых. Первым шагом нужно создать закрытый ключ. Считается, что шифрование с алгоритмом эллиптических кривых дает больший выхлоп, если измерять в тактах CPU, либо байтах длины ключа. Поддержка ECC не определена однозначно в TLS < 1.2.
openssl ecparam -name secp521r1 -genkey -param_enc explicit -out private-key.pemДалее, создает CSR — запрос на подписание сертификата.
openssl req -new -sha256 -key private.key -out server.csr -days 730И подписываем.
openssl x509 -req -sha256 -days 365 -in server.csr -signkey private.key -out public.crtРезультат можно посмотреть командой:
openssl x509 -text -noout -in public.crtOpenssl имеет огромное количество опций и команд. Man страница не очень полезна, справочник удобнее использовать так:
openssl -help
openssl x509 -help
openssl s_client -helpРовно то же самое можно сделать с помощью java утилиты keytool.
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048Следует серия вопросов, чтобы было чем запомнить поля owner и issuer
What is your first and last name?
What is the name of your organizational unit?
What is the name of your organization?
What is the name of your City or Locality?
What is the name of your State or Province?
What is the two-letter country code for this unit?
Is CN=Johnnie Walker, OU=Unknown, O=Unknown, L=Moscow, ST=Moscow, C=RU correct?Конвертируем связку ключей из проприетарного формата в PKCS12.
keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12Смотрим на результат:
Alias name: selfsigned
Creation date: 20.01.2021
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Johnnie Walker, OU=Unknown, O=Unknown, L=Moscow, ST=Moscow, C=RU
Issuer: CN=Johnnie Walker, OU=Unknown, O=Unknown, L=Moscow, ST=Moscow, C=RU
Serial number: 1f170cb9
Valid from: Sat Jan 20 18:33:42 MSK 2021 until: Tue Jan 15 18:33:42 MSK 2021
Certificate fingerprints:
MD5: B3:E9:92:87:13:71:2D:36:60:AD:B5:1F:24:16:51:05
SHA1: 26:08:39:19:31:53:C5:43:1E:ED:2E:78:36:43:54:9B:EA:D4:EF:9A
SHA256: FD:42:C9:6D:F6:2A:F1:A3:BC:24:EA:34:DC:12:02:69:86:39:F1:FC:1B:64:07:FD:E1:02:57:64:D1:55:02:3D
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 30 95 58 E3 9E 76 1D FB 92 44 9D 95 47 94 E4 97 0.X..v...D..G...
0010: C8 1E F1 92 ....
]
]Значению ObjectId: 2.5.29.14 соответствует определение ASN.1, согласно RFC 3280 оно всегда non-critical. Точно так же можно узнать смысл и возможные значения других ObjectId, которые присутствуют в сертификате X.509.
subjectKeyIdentifier EXTENSION ::= {
SYNTAX SubjectKeyIdentifier
IDENTIFIED BY id-ce-subjectKeyIdentifier
}
SubjectKeyIdentifier ::= KeyIdentifierПоиски решения
Конечно же прежде всего надо сделать мониторинг, чтобы узнавать о заканчивающихся сертификатах не тогда, когда они уже закончились, а немного раньше. Ну, хорошо. Мониторинг есть, мы теперь знаем, что скоро закончатся сертификаты там и тут. И что теперь делать?

Большое Ухо — старый бот, который сертификат не испортит.
А давайте использовать wildcard сертификаты? Давайте! Let’s Encrypt их уже выдаёт. Правда, придётся настроить подтверждение владения доменом через DNS. А DNS у нас живёт в AWS Route53. И придётся разложить реквизиты доступа в AWS по всем серверам. А при появлении новых серверов копировать всё это хозяйство туда тоже.
Разновидности ssl-сертификатов
Если же вы решили приобрести SSL-сертификат у одного из центров сертификации, то следует разобраться, какие же их разновидности существуют. С первого взгляда выбрать себе SSL-сертификат из множества тех, что представлены сегодня на рынке довольно сложно: разница в цене может достигать 100 000 рублей, и не всегда понятно, какие из возможностей того или иного сертификата действительно нужны конкретно вашему проекту.
- желаемая степень доверия к ресурсу;
- количество доменов и поддоменов, для которых осуществляется покупка сертификата;
- вид субъекта, приобретающего сертификат: физическое или юридическое лицо;
- размер финансовых возможностей для приобретения сертификата.
Разберёмся сначала с первым пунктом.
Валидность вашего ресурса может быть подтверждена тремя различными степенями его проверки. Соответственно, существует три разных вида SSL-сертификата, различающихся по типу валидации:
- сертификаты, подтверждающие право владения доменом (Domain Validation);
- сертификаты, подтверждающие помимо домена юридическое существование организации (Organization Validation);
- сертификаты с расширенной проверкой организации (Extended Validation).
Самоподписные ssl-сертификаты
Получение SSL- сертификата, разумеется, стоит денег, при этом действует он ограниченное количество времени. Поэтому многие используют так называемые самоподписные SSL-сертификаты. Сгенерировать их можно с помощью панели управления хостингом прямо на веб-сервере, причём сделать это можно совершенно бесплатно. Однако, далеко не всегда целесообразно использовать самоподписной сертификат.
Любой браузер проверяет, выдан ли сертификат известным ему центром сертификации, и если нет (а это и есть случай самоподписного сертификата), то выдаёт на него ошибку и выводит на экран большую табличку с надписью “Сертификат безопасности сайта не является доверенным!”.
Словарный запас
Определение X.509 сертификатов есть в архиве ITU-T
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
TBSCertificate ::= SEQUENCE {
version [0] EXPLICIT Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version MUST be v2 or v3Для того, чтобы досконально понять обозначения и синтаксис, придется читать спеки X.680 редакции 2008 г., где есть полное описание ASN.1. В понятиях ASN.1SEQUENCE обозначает примерно то же самое, что и struct в Си. Это может сбить с толку, ведь по семантике оно должно было соответствовать скорее массиву. И тем не менее.
Стандарт X.690 определяет следующие правила кодирования структур данных, созданных в соответствии с ASN.1: BER (Basic Encoding Rules), CER (Canonical Encoding Rules), DER (Distinguished Encoding Rules). Есть даже XER (XML Encoding Rules), который на практике мне никогда не встречался.
Да, но для чего нужны сертификаты X.509, которые доставляют столько головной боли? Первая и основная функция сертификатов X.509 — служить хранилищем открытого или публичного ключа PKI (public key infrastructure). К этой функции нареканий нет, а вот со второй не все так однозначно.
Вторая функция сертификатов X.509 заключается в том, чтобы предъявитель сего был принят человеком, либо программой в качестве истинного владельца некоего цифрового актива: доменного имени, веб сайта и пр. Это получается по-разному, далеко не все сертификаты имеют высокую ликвидность, если пользоваться финансовой терминологией.
Сценарий №1 — найти следующего в связке
Связка сертификатов — Объединение нескольких X.509 сертификатов в один файл, чаще всего в формате PEM. Связка передается по сети в момент протокола рукопожатия SSL/TLS.
Самый сок начинается, когда имеете дело со связкой сертификатов, a. k. a certificate chain. Часто просматривая лапшу в связке ключей jks непросто понять как найти родительский сертификат, когда там россыпь новых и старых сертификатов на несколько доменных имен.
Тестинги
Да, а что же тестировщики с их тестингами? Каждому разработчику или тестировщику выдаётся личный тестовый сервер — тестинг. Их в настоящее время около 200. Они имеют имена вида
test-y123.skyeng.link
, где
123
— это номер тестинга. Создание и удаление тестинга автоматизировано. Одно из составляющих действий — это установка на него SSL-сертификата. SSL-сертификат генерируется заранее, с именами по шаблону:
ssl_cert_pattern:
- *
- *.auth
- *.bill
. . .
Всего около 30 имён. Так что в готовый сертификат входят имена
test-y123.skyeng.link
*.test-y123.skyeng.link
*.auth.test-y123.skyeng.link
*.bill.test-y123.skyeng.link
и так далее.
После увольнения разработчика или тестировщика его тестинг удаляется. Сертификат остаётся, готовый к использованию. Хранится это всё сами знаете где и раскладывается на хосты сами знаете как.
Типы ssl-сертификатов и разница между ними
Работаю в хостинге: размещаем сайты пользователей на своих серверах.
Ввиду гигантского количества вопросов, которые нам задают и начинающие, и опытные пользователи, при помощи Пикабу хочу разъяснить некоторые принципы, аспекты и особенности этого ответвления IT-сферы. Не уверен, что количество вопросов от наших пользователей уменьшится, но попытаться стоит.
Даже если вы не пользуетесь хостингом, предположу, что эта информация может быть познавательна.
Сегодня, как я обещал ранее, речь пойдёт о типах SSL-сертификатов, которые можно создать самостоятельно, приобрести за деньги, получить бесплатно, и о разнице между такими сертификатами.
Итак, первый и самый простой способ получить сертификат для своего сайта — купить его. Для этого можно обратиться в любой центр по выпуску сертификатов и заказать сертификат у них, предоставив в процессе заказа информацию, по которой будет проведена проверка. В зависимости от целей и амбиций вы можете выбрать платный сертификат с различными типами проверки данных:
D — сертификаты с проверкой домена. При регистрации такого сертификата производится только проверка доменного имени. Это самый простой в оформлении и дешевый тип SSL сертификатов. Купить такой SSL сертификат может любая организация и любое физическое лицо. При заказе сертификата необходимо указывать “E-mail адрес для подтверждения” в сертифицируемом домене: на этот адрес будет приходить письмо для подтверждения “владения доменом”. То есть, если оформляется сертификат на домен my-sertif.ru, то серт. центр предоставит выбор из нескольких ящиков, который можно будет указать в проверочных данных, например info@my-sertif.ru, admin@my-sertif.ru и другие. Указанный адрес должен обязательно существовать, все письма с инструкциями сертификационного центра будут высылаться на этот E-mail. При этом оформление сертификатов на домены, в имени которых содержатся намёки на банк, финансы и прочие подозрения на “фишинг” невозможно. Если нужен сертификат для домена кредитной организации, то оформление такого сертификата только с проверкой организации. Сайт с таким сертификатом будет показывать в адресной строке браузера «зелёный замочек» (у разных браузеров по-разному).
D O — сертификаты с проверкой домена и организации. В этом случае происходит не только проверка доменного имени, но и принадлежность домена к указанной организации. При посещении сайта защищенного таким сертификатом в адресной строке браузера будет показываться название организации. Перед оформлением необходимо убедиться, что доменное имя было зарегистрировано на организацию, а не на физическое лицо, например, на директора или системного администратора компании. Помимо этого, для некоторых видов сертификатов, необходимо будет заполнить форму с реквизитами организации, для проверки их сертификационным центром.
IDN (Internationalized Domain Names) — поддержка национальных доменов. Поддержка доменов не с латинскими символами. Если у вас домен например в зоне .рф, то такой вид сертификатов — ваш выбор.
EV (Extended Validation) — расширенная проверка. Такие сертификаты получают самое высокое доверие со стороны браузеров. Для этого вида сертификатов проводится полная проверка организации, включая обязательное заполнение форм с данными компании, заверяемых подписью и печатью. Но столь «сложное» оформление даёт самый высокий уровень доверия, чему свидетельствует “зеленая адресная строка” в браузере посетителя сайта, которая говорит о том, что сайт прошёл серьёзную проверку и все данные передаваемые между посетителем и сайтом надёжно защищены.
WildCard — поддержка субдоменов. Wildcard сертификат можно использовать на всех субдоменах (поддоменах) доменного имени. Один такой сертификат будет действителен на доменах www.my-sertif.ru, test.my-sertif.ru, accounts.my-sertif.ru и т.д. без каких либо ограничений на количество субдоменов.
SGC (Server Gated Cryptography) — высокий уровень шифрования. Сертификаты с поддержкой принудительно высокого уровня шифрования обеспечивают максимально высокий уровень шифрования вне зависимости от типов и версий браузеров клиентов. Если пользователь использует старую версию браузера, поддерживающую только 40 или 56 битное шифрование, то при использовании SGC-сертификата соединение все равно будет использовать 128(и более) битное шифрование.
SAN/UCC (United Communications Certificate) — мульти-доменные сертификаты. SAN SSL-сертификаты, так же известные как Единые сертификаты связи (UCC) идеальны для продуктов Microsoft Exchange, а так же для защиты мульти-доменных проектов. Такие сертификаты защищают все описанные в заявке домены, субдомены, локальные имена используя лишь 1 сертификат.
Помимо глубины проверки данных, разные типы сертификатов дают разные страховые возмещения. Об этом стоит рассказать отдельно.
Каждый платный сертификат подразумевает наличии страховки. Страховка покрывает финансовые риски посетителя сайта. Например, сертификат гарантирует страховое возмещение в размере $10000. Значит, если на домене установлен такой сертификат, и посетитель сайта домена в результате операций сайте понёс какие-либо финансовые убытки из-за взлома ключа сертификата, то такие убытки будут покрыты сертифкационным центром вплоть до $10000. На практике же лично мне не известно ни одного случая, когда такое возмещение было бы выплачено. И дело не в том, что SSL настолько суровая технология, что взломать ключи, а, следовательно, подсмотреть шифрованный трафик, невозможно. Скорее очень сложно доказать, что это произошло. Даже когда пару лет назад была анонсирована катастрофическая уязвимость в протоколе SSL, которая получила название «HeartBleed», информации о каких-то возмещениях не было.
Также хочу заметить, что чаще всего самую низкую цену на сертификат вы получите не напрямую у серт.центра, а у посредника. Т.к. они, также как в ситуации с доменами, получают адские скидки из-за оптовых закупок, и, соответственно, могут предложить более низкую цену, чем у самих серт. центров.
Второй способ получить сертификат чуть более сложный. Его можно сгенерировать самостоятельно. Для его воплощения потребуется как минимум командная строка любой unix-системы, пара часов «курения» интернетов по запросам “Генерируем SSL сертификат самостоятельно”, а затем пара несложных команд в командной строке.
В результате будет получен набор файлов, которые в последствии можно использовать для подключения сертификата на домен сайта.
Помимо очевидного минуса в необходимости выполнения каких-то самостоятельных телодвижений, в итоге получится, что для работы с сайтом, использующим такой сертификат, пользователю придётся также лишний раз нажать на пару кнопок в браузере.
Это будет происходить из-за того, что бразуры имеют собственную базу сертификационных центров, сертификатам которых они доверяют. Выпущенный же самостоятельно сертификат так и называется «самоподписанный сертификат». Сертифкационным центром в этом случае выступает компьютер, на котором выпущен сертификат. Соответственно, доверия этому компьютеру у браузера нет. Поэтому бразуер будет выводит сообщение об отсутствии проверки сертификата. Такие сертифткаты лично я рекомендовал бы использовать только для собственных нужд, а в Сети всё-таки пользоваться сертификатами от доверенных серт. центров.
Но что делать, если платить даже 10 северо-американских рублей за сертификат не хочется, но душа требует работать с вашим публичным проектом по зашифрованному каналу? До недавнего времени делать было нечего. Таким образом мы плавно подошли к последнему варианту.
Способ третий. Немного издалека.
Пару лет назад группа интернет-компаний скооперировалась и создала свой собственный лунапарк сертификационный центр, который занимается выпуском бесплатных сертификатов для всех желающих. Центр называется «Let’s Encrypt». Каждый выпускаемый ими сертификат проходит проверку типа D, действует в течение 90 дней, а по истечении этого периода может быть бесплатно перевыпущен. Количество перевыпусков не ограничено.
Именно такой сертификат от Let’s Encrypt я советую почти всем, кто столкнулся с необходимостью использовать SSL.
Для самостоятельного выпуска такого сертификата нужно скачать с сайта организации некоторый софт и запустить его. Ответить на несколько вопросов, которые софт задаст, и дождаться получения файлов сертификата.
Не сочтите за рекламу. Проект не получает никакой финансовой выгоды из выпуска таких сертификатов. Группа компаний лишь ратует за безопасный интернет.
Сейчас уже многие хостеры интегрировали функционал выпуска и перевыпуска таких сертификатов в автоматическом режиме. Например, хостинг панель в нашей компании с последним апдейтом от разработчиков получила новые кнопки, которые позволяют получить сертификат для домена сайта в течение нескольких минут.
картинка кнопок Let’s Encrypt в панели isp
Перевыпуск производится автоматически, поэтому, однажды выпустив такой сертификат, можно вообще забыть о небезопасном соединении со своим проектом. Останется только перевести сайт домена на работу с безопасным протоколом https.
Небольшой бонус. Какой сертификат мне выбрать для своего проекта? Здесь всё достаточно просто.
Всё зависит от того, для чего именно вам нужен сертификат? Большинству пользователей сейчас подойдёт бесплатный сертификат от Let’s Encrypt.
Если вам нужен сертифткат для сайта финаснсового учреждения, то нужно задуматься о платном сертификате с уровнем проверки минимум D O.
Все остальные сертификаты это:
1. Ваши амбиции – зелёная адресная строка в браузере не более, чем понты
2. Финансовые возможности.
3. Техническая необходимость – иногда проще заплатить за мультидоменный сертификат, чем выпускать по сертификату на каждый используемый домен.
Всем спасибо за внимание. Если есть какие-то вопросы – добро пожаловать в комментарии.
P.S.:
Заметил, что по предыдущим моим постам, что они набирают некоторое количество минусов. Рейтинг мне не важен, но хотелось бы понять, что именно в моих постах вызывает негатив. Возможно, я смогу исправить это, если вы будете писать об этом в комментариях.
Extended validation
SSL-сертификаты с расширенным уровнем проверки являются самыми надёжными, но и самыми дорогими. Хорошо подойдут для крупной и серьезной организации, для которой важны престиж и безопасность.
Сертификат уровня EV:
- предлагает самый высокий уровень защиты и наивысший уровень доверия среди других SSL-сертификатов
- выдаётся только юридическим лицам;
- для регистрации необходимы следующие дополнительные документы: свидетельство о постановке на учёт в налоговом органе, уведомление о регистрации юридического лица, извещение о регистрации в качестве страхователя и другие;
- поддерживает кириллические домены;
- выпускается в течение 3-10 дней.
- обойдётся примерно от 10 000 до 100 000 рублей в год.
Также после документальной проверки провайдер может позвонить по официально заявленному телефону организации, совершив тем самым дополнительный этап проверки. Зато после прохождения всего этого документооборота ваш сайт будет обладать самым высоким уровнем доверия, о чём будет свидетельствовать зелёная панелька с названием компании в адресной строке.
По ней пользователи и смогут определить высокий бизнес статус компании, а при нажатии на панель узнать полные сведения об организации. Сертификаты этого типа служат отличной защитой от фишинга: из-за строгих требований верификации, злоумышленники не смогут пройти все этапы проверки, в результате чего “липовые” EV-сертификаты встречаются в крайне редких случаях.
