Перейти к содержимому
buybitcoinsmart

Глоссарий / Справочник разработчика

Сертификат X.509

Другие названия: X.509 certificate, TLS-сертификат.

Что такое сертификат X.509?
Сертификат X.509 представляет собой подписанный файл, который привязывает публичный ключ к имени и сроку действия, и это формат, лежащий в основе каждого HTTPS-соединения, которое вы устанавливаете с биржей.

Формат старый, и это заметно: X.509 появился в 1988 году как часть стандарта каталога, а профиль для интернета, который используется до сих пор, RFC 5280, датируется маем 2008 года. Сертификат является структурированной записью, подписанной эмитентом, а не секретом, поэтому его безопасно передавать. Доказывает он немного: кто-то убедил удостоверяющий центр, что контролирует имя.

Как это работает

Сертификат представляет собой список полей плюс подпись, покрывающую их все.

Полей, важных для читателя, немного. Серийный номер идентифицирует сертификат для его эмитента. Поле эмитента указывает, кто подписал сертификат, поле субъекта указывает, о ком он, а две отметки времени задают окно, в котором он действителен. Блок сведений о публичном ключе субъекта содержит сам ключ. Остальное несут расширения, и одно из них делает основную работу: расширение subjectAltName перечисляет доменные имена, которые покрывает сертификат.

Поле общего имени является классической ловушкой. Оно выглядит как место, где хранится домен, и годами им было, но RFC 6125 признал его чтение устаревшим в марте 2011 года, и браузеры теперь его игнорируют. Сертификат, в subjectAltName которого не перечислен сайт, на который вы заходите, не проходит проверку, что бы ни говорило его общее имя.

Сроки действия за последнее десятилетие резко сократились. Публично доверенные TLS-сертификаты, выданные с 1 сентября 2020 года, не могут быть действительны дольше 398 дней вместо трех лет, а затем двух, и Let's Encrypt выдает 90-дневные сертификаты как обычную практику, потому что продление автоматизировано. Короткое окно заменяет отзыв, который никогда не работал надежно.

Создать сертификат может кто угодно. Подпись сертификата собственным ключом дает самоподписанный сертификат, в котором эмитент и субъект совпадают, и это вполне действительный файл, который не признает ни одно хранилище доверия. Сертификат делает заслуживающим доверия не подпись, а личность подписавшего.

Где вы его видите

Нажмите на замок в любом браузере, и вы увидите сертификат X.509.

Тот же формат файла встречается везде, где программное обеспечение должно проверить, что что-то получено от конкретного поставщика: подписанные бинарные файлы приложений, подписанные обновления прошивки и аттестационные сертификаты, которые несут некоторые аппаратные кошельки, чтобы приложение поставщика могло отличить подлинное устройство от клона. BIP70 встраивал сертификаты прямо в запросы на оплату в биткоине, единственный раз, когда этот формат был частью протокола биткоина.

Покупателю здесь помогают две привычки. Никогда не игнорируйте предупреждение о сертификате на сайте, где хранятся деньги, потому что браузер сообщает, что имя и ключ не совпадают, и на домене биржи у этого нет безобидного варианта. И помните, что действительный сертификат на мошенническом сайте является нормой, а не противоречием: проверка охватывает имя, поэтому если имя почти совпадает с настоящим, сертификат выполняет свою работу, пока вы теряете средства.

Сертификат X.509 vs конечный сертификат

X.509 является форматом; конечный описывает положение. Каждый сертификат в цепочке является сертификатом X.509, включая промежуточные и самоподписанный корневой, и называть один из них конечным говорит лишь о том, что он стоит в конце и идентифицирует реальный сервер, а не разрешает дальнейшую выдачу. Разница видна в одном расширении: сертификат, у которого basicConstraints помечает его как удостоверяющий центр, может подписывать другие, а конечный не может.

Не путать с

Часто задаваемые вопросы

Почему сертификаты теперь истекают так быстро?

Поскольку отзыв ненадежен, короткие сроки действия ограничивают ущерб от сертификата, которому больше не следует доверять. Публично доверенные сертификаты, выданные с 1 сентября 2020 года, ограничены 398 днями, а Let's Encrypt использует 90 дней.

Опасен ли самоподписанный сертификат?

Сам по себе он не сломан, но ничто за него не ручается. Эмитент и субъект являются одной и той же стороной, поэтому принять его означает доверять тому, кто его передал, и именно поэтому браузеры предупреждают, а не подключаются молча.

Связанные термины

Еще в разделе «Справочник разработчика»

Читать эту страницу на английском