Перейти к содержимому
ecdsa.com

Обучение

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

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.

Хотите покопаться в настоящих байтах? Инструменты Лаборатории подписей работают полностью в браузере.