Подпись файла: создание и проверка
Проверка и создание подписей файлов: OpenSSH ssh-keygen -Y, minisign и OpenSSL с ключами Ed25519, ECDSA P-256/P-384 или RSA в формате PEM, OpenSSH или JWK. Файлы и ключи не покидают браузер.
Введённые данные и файлы остаются в браузере
Проверка подписи
Перетащите файл сюда
или выберите файл на устройстве
Подпись SSH (-----BEGIN SSH SIGNATURE-----), файл .minisig или сырая подпись в base64, hex или двоичном файле .sig.
Открытый ключ PEM или сертификат, OpenSSH .pub, строки authorized_keys или allowed_signers, JWK/JWKS или открытый ключ minisign.
Только для подписей SSH: значение -n у ssh-keygen (file, git, …).
OpenSSH, PEM (PKCS#8, зашифрованный PKCS#8, EC или RSA) или JWK с "d". Ключ остаётся в этой вкладке и не сохраняется.
Только для зашифрованного ключа.
Дополнение RSA относится к ключам RSA, кодировка ECDSA — к ключам ECDSA. Ed25519 подписывает сам файл (до 128 МиБ) и не использует хеш.
Здесь появится результат проверки или новая подпись.
На этой странице
Подпись файла проверяет и создаёт отсоединённые подписи для файлов любого размера: подписи OpenSSH из ssh-keygen -Y, файлы minisign .minisig и сырые подписи OpenSSL с ключами Ed25519, ECDSA P-256/P-384 и RSA. Файл хешируется в браузере блоками по 1 МиБ; файлы, ключи и парольные фразы никуда не загружаются.
Подробное описание функциональности
Режим Проверить сверяет скачанный релиз, резервную копию или документ с его подписью. Перетащите файл, вставьте Подпись или нажмите Загрузить подпись и укажите Открытый ключ. Формат определяется автоматически:
- Подписи OpenSSH (
ssh-keygen -Y sign, ими же подписываются коммиты и теги Git): ключом может быть файл.pub, строкиauthorized_keysили файлallowed_signers— подходящая строка показывает, кто подписал, а её ограничениеnamespaces=соблюдается. Пространство имён должно совпадать с указанным при подписи (обычноfile). Без ключа инструмент всё равно проверяет подпись по ключу внутри неё и показывает его отпечаток. - minisign
.minisig(с предварительным хешированием BLAKE2b и устаревший): проверяются ID ключа и доверенный комментарий, так что подделанный комментарий будет обнаружен. - Сырые подписи из
openssl dgst -signилиopenssl pkeyutl -rawin: двоичные, base64 или hex; ECDSA в DER или r‖s; RSA PKCS#1 v1.5 или PSS; SHA-256/384/512. Ключ — PEM (SPKI или PKCS#1), сертификат X.509, строка OpenSSH или JWK.
Режим Подписать создаёт подпись вашим ключом из поля Закрытый ключ: OpenSSH, PEM (PKCS#8, зашифрованный PKCS#8, EC или RSA) или JWK, для зашифрованных ключей — с полем Парольная фраза. Выберите Подпись SSH (ssh-keygen -Y), которую читает ssh-keygen -Y verify, или Сырая подпись (OpenSSL) с параметрами Хеш, Дополнение RSA и Кодировка ECDSA. В результате — подпись, отпечаток ключа, открытый ключ и готовая команда для проверки через ssh-keygen или openssl.
Практические примеры
Проверка скачанного релиза: перетащите tool-1.4.tar.gz, загрузите tool-1.4.tar.gz.sig и вставьте allowed_signers проекта — результат покажет «Подпись верна» и подписанта [email protected].
minisign: перетащите архив, загрузите его .minisig и вставьте открытый ключ RW… со страницы проекта; будет показан доверенный комментарий с именем файла и временем.
OpenSSL: проверьте результат openssl dgst -sha256 -sign key.pem -out data.sig data.bin с ключом public.pem; хеш и дополнение определяются автоматически.
Подпись для коллеги: загрузите свой id_ed25519, оставьте Подпись SSH (ssh-keygen -Y) и пространство имён file, нажмите Подписать файл, затем отправьте .sig вместе со строкой allowed_signers.
Как использовать этот инструмент
Выберите файл
Перетащите файл в область Перетащите файл сюда или нажмите Выбрать файл. Размер любой: файл хешируется блоками.
Выберите режим
Выберите Проверить, чтобы проверить подпись, или Подписать, чтобы создать её.
Укажите подпись и ключи
Для проверки вставьте Подпись и Открытый ключ, а для подписей SSH проверьте Пространство имён. Для подписи вставьте Закрытый ключ, заполните поле Парольная фраза, если он зашифрован, и выберите Формат подписи.
Запустите
Нажмите Проверить подпись или Подписать файл. Индикатор показывает объём захешированных данных; Отмена останавливает процесс.
Прочитайте результат
Зелёное или красное сообщение показывает вердикт, ниже — отпечаток ключа, схема, хеш и подписант. После подписи нажмите Скачать .sig или скопируйте подпись.
Советы и лучшие практики
- Верная подпись без доверенного ключа доказывает лишь целостность, но не авторство: всегда сверяйте отпечаток или указывайте ключ подписавшего.
gitподписывает коммиты в пространстве имёнgit, обычныйssh-keygen -Y sign— как правило, вfile.- Подписи RSA-PSS из OpenSSL проверяются и с солью длины дайджеста, и с максимальной солью, поэтому проходят подписи как старых, так и новых версий OpenSSL.
- Сырые подписи Ed25519 подписывают весь файл, а не хеш: здесь они ограничены 128 МиБ, а у подписей SSH ограничения нет.
- Закрытый ключ используется только в этой вкладке и не сохраняется; и всё же лучше завести отдельный ключ для подписи, а не использовать повседневный ключ SSH.