# Генератор цифровой подписи

Подписывает сообщение приватным ключом или проверяет подпись публичным — поддерживает RSA-PSS (SHA-256), ECDSA (P-256) и Ed25519. Чисто локальная криптография (Node crypto.createSign/createVerify), без сети. Вставьте PEM-ключ для подписи или проверки base64-подписи. Инструмент только подписывает/проверяет; он не генерирует пары ключей.

> Каноническая страница: https://elysiatools.com/ru/tools/digital-signature-generator

- **Категория:** Security

- **Ключевые слова:** цифровая подпись, подписать, проверить, RSA-PSS, ECDSA, Ed25519, асимметричный

## Обзор

Этот инструмент выполняет **асимметричные цифровые подписи** — криптографию за подписанием кода, доказательством происхождения ПО (Sigstore/SLSA), подписанием документов и аутентифицированными API.

**Два режима:**
- **Подписать**: вставьте сообщение и PEM **приватный ключ**, получите base64-подпись.
- **Проверить**: вставьте сообщение, PEM **публичный ключ** и base64-подпись, получите ВЕРНО/НЕВЕРНО.

**Три алгоритма** (должны соответствовать типу вставленного ключа):
- **RSA-PSS (SHA-256)** — современная схема RSA-подписи (вероятностная, с солью). Предпочтительнее старого PKCS#1 v1.5. Требует RSA-ключ.
- **ECDSA (P-256, SHA-256)** — подписи на эллиптической кривой; ключи короче RSA при той же стойкости. Использует кодировку IEEE P1363 (`r‖s`) для детерминированного вывода фиксированной ширины. Требует EC P-256 (prime256v1) ключ.
- **Ed25519** — быстрый детерминированный EdDSA над Curve25519; одна длина подписи (64 байта), без выбора параметров. Требует Ed25519-ключ.

**Как использовать.** Сначала создайте пару ключей через **RSA Key Generator** или **SSH Key Generator** (этот инструмент намеренно не генерирует ключи). Затем:
1. Подпишите сообщение приватным ключом → скопируйте base64-подпись.
2. Передайте получателю сообщение + подпись + ваш **публичный** ключ.
3. Он вставляет все три сюда, выбирает совпадающий алгоритм и проверяет.

**Соответствие ключ/алгоритм.** Алгоритм должен соответствовать типу ключа: RSA-ключ — только RSA-PSS, EC P-256 — ECDSA, Ed25519 — Ed25519. Несоответствие даёт ошибку проверки.

**Безопасность.** Всё подписание происходит локально в вашем браузере через модуль `crypto` Node — приватный ключ никогда не покидает ваше устройство. Подписи неотрекаемы: только владелец приватного ключа мог создать подпись, которую проверит публичный.

## Входные данные

- **Режим** (select)
- **Алгоритм** (select)
- **Сообщение** (textarea): The message to sign or verify.
- **Приватный ключ (PEM)** (textarea): -----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY----- (Used in Sign mode.)
- **Публичный ключ (PEM)** (textarea): -----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY----- (Used in Verify mode.)
- **Подпись (base64)** (textarea): Paste the base64 signature to verify. (Used in Verify mode.)

## Когда использовать

- Необходимость подтвердить авторство и целостность текстового документа или сообщения перед его отправкой.
- Проверка подлинности полученных данных или файлов конфигурации с использованием публичного ключа отправителя.
- Тестирование интеграции API и отладка криптографических подписей в процессе разработки программного обеспечения.

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

- Выберите режим работы: «Подписать» для создания новой подписи или «Проверить» для валидации существующей.
- Укажите алгоритм шифрования (RSA-PSS, ECDSA или Ed25519), соответствующий типу вашего PEM-ключа.
- Введите исходное сообщение и вставьте соответствующий приватный или публичный ключ в формате PEM.
- Нажмите кнопку выполнения, чтобы мгновенно получить подпись в формате base64 или результат проверки.

## Сценарии использования

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

## Частые вопросы

### Безопасно ли вставлять приватный ключ на этой странице?

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

### Может ли этот инструмент сгенерировать новую пару ключей?

Нет, данный инструмент предназначен только для подписания и проверки. Для генерации ключей используйте специализированные генераторы RSA или SSH ключей.

### Почему при проверке подписи возникает ошибка?

Убедитесь, что выбранный алгоритм соответствует типу ключа, а сообщение, публичный ключ и base64-подпись скопированы без лишних пробелов.

### В чем разница между RSA-PSS, ECDSA и Ed25519?

RSA-PSS — современный стандарт для RSA; ECDSA использует эллиптические кривые для более коротких ключей; Ed25519 обеспечивает максимальную скорость и фиксированную длину подписи.

### Какой формат подписи возвращает генератор?

Инструмент генерирует и принимает подписи, закодированные в формате Base64.

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

- [Генератор PKCE Code Verifier и Challenge](https://elysiatools.com/ru/tools/pkce-code-verifier-generator): Создание, проверка и верификация пар code_verifier / code_challenge PKCE (RFC 7636) для OAuth2 / OIDC. Три режима: (1) создать новую пару из криптостойких случайных байт (256/384/512/768 бит), (2) аудит имеющегося verifier по RFC — длина (43–128), набор \[A-Za-z0-9-._~\] и ≥256 бит энтропии, (3) проверить пару, пересчитав BASE64URL(SHA256(verifier)). При желании строит полный URL запроса авторизации и тело обмена токена. Дополняет универсальный nonce-generator (только выдаёт пару) аудитом соответствия RFC и проверкой пар.
- [Генератор и Проверка Ed25519 / X25519](https://elysiatools.com/ru/tools/ed25519-x25519-keygen-signature-verifier): Создает ключи Ed25519 или X25519 и поддерживает подпись и проверку сообщений Ed25519
- [Генератор Data URI](https://elysiatools.com/ru/tools/data-uri-generator): Преобразует файлы в Data URI (Base64 или процентное кодирование) для встраивания изображений, шрифтов и ресурсов прямо в HTML, CSS или Markdown
- [Шифрование / Расшифрование RSA](https://elysiatools.com/ru/tools/rsa-encrypt-decrypt): Шифрует текст открытым ключом RSA или расшифровывает шифртекст соответствующим закрытым ключом, с OAEP-паддингом (SHA-1 или SHA-256). Длинные сообщения бьются на блоки. Ключи и данные обрабатываются локально. PKCS#1 v1.5 не предлагается (Node отключает его для расшифровки из-за атак Bleichenbacher).
- [Генератор криптостойкой случайности](https://elysiatools.com/ru/tools/secure-random-generator): Генерирует криптостойкий случайный ключевой материал по бюджету энтропии — запросите N бит энтропии, получите вывод hex/base64/base64url. Также поддерживает строки со своим алфавитом через crypto.randomInt (внутренний отсев с отклонением, без модульного смещения). Для любого секрета/ключа/токена используйте это вместо инструментов на Math.random.
- [Инструкция Безопасной Передачи AGEX](https://elysiatools.com/ru/tools/agex-secure-share-note): Создает понятную инструкцию для получателя AGEX-пакета: как безопасно расшифровать и проверить его
- [Генератор и анализатор JWK](https://elysiatools.com/ru/tools/jwk-generator): Генерирует JSON Web Keys (JWK) для RSA, EC (P-256/P-384/P-521/secp256k1) и OKP (Ed25519/Ed448/X25519/X448), либо разбирает существующий JWK для просмотра параметров, отпечатка и метаданных
- [Генератор цифровых OTP](https://elysiatools.com/ru/tools/otp-generator): Генерирует криптографически стойкие одноразовые цифровые коды (SMS / email-подтверждение, коды розыгрыша, PIN мероприятий) с настраиваемой длиной (3-10 цифр), массовым выводом, опциональным исключением неоднозначных цифр и обратным отсчётом истечения. Использует crypto.randomInt, а не Math.random.

## Примеры

- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Android Kotlin](https://elysiatools.com/ru/samples/android-image-processing-kotlin): Примеры обработки изображений Android Kotlin включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Web Rust](https://elysiatools.com/ru/samples/web-image-processing-rust): Примеры обработки изображений Web Rust включая чтение/запись, масштабирование и преобразование форматов

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

- [Инструменты кодирования и конвертации аудио](https://elysiatools.com/ru/hubs/audio-convert): Сравните инструменты конвертации аудиоформатов, изменения битрейта, частоты дискретизации, смены кодека и экспорта в одном хабе.
- [Инструменты конвертации форматов изображений и анимированного экспорта](https://elysiatools.com/ru/hubs/image-convert): Сравните конвертеры JPG, PNG, GIF, AVIF, WebP, TIFF, ICO, base64 и инструменты экспорта анимированных изображений в одном хабе.
- [Инструменты JSON-обмена и перевода форматов](https://elysiatools.com/ru/hubs/json-convert): Сравните инструменты преобразования JSON для CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN и других структурированных форматов в одном хабе.
- [Инструменты перевода цветовых пространств для веба и печати](https://elysiatools.com/ru/hubs/design-convert): Подборка инструментов для перевода цветовых пространств между вебом и печатью в одном хабе.
