Обучение
Короткие технические руководства о том, как на самом деле работают цифровые подписи: алгоритмы, форматы на уровне байтов и ошибки конфигурации, из-за которых проверка завершается неудачей. Они написаны для тех случаев, когда подпись упорно не проходит проверку, а сообщение об ошибке ничего не объясняет.
TLS
47-дневные TLS-сертификаты: график и что автоматизировать
Бюллетень CA/B Forum SC-081 сокращает срок публичных TLS-сертификатов до 200, 100 и 47 дней, а проверки домена — до 10. Даты, профили ACME, ARI, оповещения.
Цепочка поставок
Схемы подписи APK v1–v4, ротация ключей и Google Play
Как устроена подпись Android APK: схемы v1–v4, ротация ключей в v3 и v3.1, новая гибридная v3.2 с ML-DSA, Play App Signing и вывод apksigner verify.
Цепочка поставок
Подпись кода Authenticode: ключи, метки времени, проверка
Как Authenticode подписывает файлы Windows, ключи подписи кода в HSM с 2023 года, метки времени, которые переживают сертификаты, signtool и osslsigncode.
Bitcoin
Подпись сообщений Bitcoin: разбор BIP-137 и BIP-322
Подписи сообщений Bitcoin: заголовки BIP-137, простые и полные подписи BIP-322, типы адресов, поддержка в кошельках и проверка на тестах 2026 года.
Цепочка поставок
C2PA Content Credentials: манифесты, подписи, ограничения
C2PA Content Credentials: манифесты, claim и подписи COSE, доверие к сертификатам, метки времени, состояния проверки и почему перекодирование стирает манифест.
TLS
Закрепление сертификатов в 2026: когда и как безопасно
Закрепление сертификатов: почему браузеры отказались от HPKP, пины SPKI в Android, iOS и OkHttp, риск блокировки при короткоживущих сертификатах, ротация пинов.
PKI
Certificate Transparency на практике: SCT и оповещения
Как работает Certificate Transparency в 2026 году: SCT и журналы, правила Chrome, Apple и Firefox, поиск своих сертификатов в Cert Spotter и crt.sh, мониторинг.
Электронная почта
Почему DKIM не проходит: хеш тела, подпись, ключи и DNS
Почему подпись DKIM не проходит: канонизация, несовпадение хеша тела, пересылка, списки рассылки, тег l=, длина ключа, DNS. Воспроизведённые сбои и исправления.
DNS
Цепочка доверия DNSSEC: DS, DNSKEY, RRSIG и что ломается
Как проверка DNSSEC идёт от корня до вашей записи: DS, DNSKEY, RRSIG, алгоритмы 8, 13 и 15, диагностика с dig и delv, сбои при смене ключей.
DPoP
Что такое DPoP: привязка токенов OAuth к ключу клиента
Как DPoP (RFC 9449) привязывает токены OAuth к ключу клиента: JWT-доказательство, jti, htm, htu, ath, nonce сервера, cnf.jkt и проверенный код сервера ресурсов.
Алгоритмы
Восстановление открытого ключа ECDSA: recid, v и ecrecover
Восстановление открытого ключа ECDSA: математика, идентификатор восстановления и v, ecrecover в Ethereum, компактные подписи Bitcoin, EIP-2098 и частые ошибки.
Ethereum
EIP-712: что именно вы подписываете и как это прочитать
Типизированные данные EIP-712: домен, типы и хеширование, permit по ERC-2612, Permit2, неограниченные одобрения и как прочитать запрос подписи до подписания.
JWT
ES256 или EdDSA для JWT: что выбрать в 2026 году
ES256 или EdDSA (Ed25519) для JWT: размер, детерминизм, пластичность, скорость, тест 13 библиотек, облачные KMS и HSM, новое имя Ed25519, выбор на 2026 год.
Управление ключами
Аппаратные ключи: Secure Enclave, StrongBox, TPM, PIV
Что гарантируют аппаратные ключи в Apple Secure Enclave, Android TEE и StrongBox, TPM 2.0 и YubiKey PIV, как это доказывает аттестация и где их пределы.
HTTP-подписи
HTTP Message Signatures (RFC 9421) для API и ботов
HTTP Message Signatures (RFC 9421): подписываемые компоненты, Signature-Input, ключи, повторы, проверки на сервере, Web Bot Auth для краулеров и ИИ-агентов.
JWT
Ротация ключей JWKS без простоя
Ротация ключей подписи JWT без отклонённых запросов: правила для kid, окна перекрытия, Cache-Control, кеши 7 библиотек проверки и аварийное удаление ключа.
JWT
Ошибки проверки JWT, которые пропускают негодные токены
Ошибки проверки JWT, всё ещё попадающие в код: alg из заголовка, подмена алгоритма HS/RS, kid, aud, iss, exp, расхождение часов, кеш JWKS. С исправлениями.
Постквантовая криптография
ML-DSA для разработчиков: ключи, подписи, код (FIPS 204)
ML-DSA (FIPS 204): размеры 44/65/87, рандомизированная и детерминированная подпись, контекст, HashML-DSA, форматы ключей и код для OpenSSL, Go, Java, .NET.
TLS
Взаимный TLS (mTLS) для API: клиентские сертификаты
Взаимный TLS для API: как работают клиентские сертификаты в TLS 1.3, частный CA, настройка nginx, Envoy, Go и Node.js, ротация и ошибки каждого из них.
PKI
OCSP и CRL в 2026 году: как теперь проверяют отзыв
Let's Encrypt отключил OCSP, CRL обязательны, в браузерах CRLite и CRLSets. Что по умолчанию проверяют Java, .NET, Go, Python, Node.js, curl и как исправить.
OpenID Connect
Проверка ID-токена OIDC шаг за шагом
Как проверить ID-токен OpenID Connect по Core 3.1.3.7: iss, aud, azp, подпись, exp, nonce, at_hash и c_hash, а также особенности Entra ID, Google и Auth0.
Цепочка поставок
OpenPGP в 2026 году: RFC 9580, ключи v6 и раскол с GnuPG
OpenPGP сегодня: RFC 9580 и ключи v6, Ed25519 и X25519, постквантовый RFC 9980, LibrePGP в GnuPG против Sequoia, тесты совместимости и рекомендации.
Ключи доступа
Ключи доступа для разработчиков: WebAuthn без догадок
Ключи доступа для разработчиков: регистрация и вход через WebAuthn, аттестация, синхронизация, проверка пользователя, алгоритмы COSE и ошибки DOMException.
Документы
Как устроены подписи PDF: ByteRange, CMS, PAdES и LTV
Как работает подпись PDF: ByteRange, CMS, уровни PAdES, метки времени RFC 3161, LTV, почему подпись действительна, но доверия к ней нет, и как её проверить.
Java
PKIX path building failed в Java: причины и исправления
Почему Java выдаёт PKIX path building failed: частные CA, неполная цепочка, не то хранилище, устаревшие корневые CA, SNI. Как найти и исправить каждую причину.
Постквантовая криптография
Постквантовая миграция в 2026 году: план для разработчиков
Что в 2026 году постквантовое по умолчанию, что ещё нужно менять и реальные сроки (NIST IR 8547, CNSA 2.0, ЕС, Великобритания) для обмена ключами и подписей.
SAML
Проверка подписи SAML: что проверять и почему
Как проверять подписи SAML: ссылки XMLDSig, канонизация, почему данные нужно брать из подписанного элемента, проверки Audience, Recipient и сроков.
SD-JWT
SD-JWT и SD-JWT VC: выборочное раскрытие в кошельках EUDI
Как SD-JWT (RFC 9901) и SD-JWT VC скрывают утверждения за дайджестами с солью и защищают от повтора привязкой к ключу; кошельки EUDI, mdoc и статус в 2026 году.
Алгоритмы
secp256k1: как устроена кривая Bitcoin и Ethereum
secp256k1: параметры, ускоряющий её эндоморфизм, почему её используют Bitcoin и Ethereum, low-S, кодировки ключей и адресов, поддержка в платформах.
Ethereum
Sign-In with Ethereum (EIP-4361): проверка на сервере
Sign-In with Ethereum без ошибок: сообщение EIP-4361, проверки nonce, домена и URI, проверка подписи на сервере, ERC-1271 и ERC-6492 для смарт-кошельков.
Цепочка поставок
Подпись релизов с Sigstore: cosign, бандлы, удостоверение
Подпись без ключа в Sigstore: сертификаты Fulcio, журнал Rekor, бандлы cosign, проверка удостоверения подписанта, npm provenance, аттестации артефактов GitHub.
Управление ключами
Подпись в облачных KMS: AWS, Google Cloud и Azure
Подпись в AWS KMS, Google Cloud KMS и Azure Key Vault: типы ключей, дайджест или сообщение, ECDSA в DER или raw, JWT и файлы, права доступа и журналы аудита.
SSH
SSH-сертификаты или authorized_keys: CA и принципалы
Сертификаты OpenSSH вместо authorized_keys: CA пользователей и хостов, принципалы, срок действия, ssh-keygen -s, настройка sshd, отзыв через KRL и ошибки.
SSH
ssh-keygen в 2026: типы ключей, парольные фразы и агенты
Какой SSH-ключ создать в 2026 году: Ed25519, ключи FIDO (-sk), новый гибрид с ML-DSA, RSA 3072; раунды KDF, риски перенаправления агента, сертификаты, ротация.
TLS
X25519MLKEM768: гибридный обмен ключами в TLS 1.3
Как работает гибридная группа X25519MLKEM768 в TLS 1.3: размеры key share, код 0x11EC, кто включает её по умолчанию, как проверить и что она может сломать.
PKI
Поля сертификата X.509: разбор на реальных сертификатах
Поля X.509 на действующих сертификатах: субъект и SAN, Key Usage и EKU, Basic Constraints, AKI и SKI, CRL, OCSP и AIA, SCT и что каждое правило значит сегодня.
Типичные сбои
Повторное использование nonce в ECDSA: как одно повторённое число раскрывает закрытый ключ
Почему повторный nonce k в ECDSA раскрывает закрытый ключ: вывод формул, сбои PlayStation 3 и Android, повторяющиеся r в Bitcoin и исправление по RFC 6979.
Форматы
Форматы подписей ECDSA: DER или raw (P1363), high-S и подводные камни разных библиотек
Почему у подписи ECDSA две кодировки, ASN.1 DER и raw r‖s (IEEE P1363): байтовая структура, high-S и low-S, форматы по умолчанию в Node.js, Go, Python и Java.
JWT
ES256 или RS256 для JWT: как выбрать и не обжечься
ES256 или RS256: значения alg в JWT, размер токенов, закрепление списка разрешённых алгоритмов, почему alg none недопустим и почему подписи ES256 — raw r‖s.
Алгоритмы
ECDSA или RSA: какой алгоритм подписи и когда выбирать
Сравнение ECDSA и RSA: размеры ключей и подписей (P-256 и RSA-3072), скорость, применение в TLS, SSH, JWT и блокчейнах, требования к nonce и сроки NIST по PQC.
Хотите покопаться в настоящих байтах? Инструменты Лаборатории подписей работают полностью в браузере.