Шифрование и расшифрование данных на сервере

Александр Гаврилов · 18 авг 2026 · 9 · Поделиться

Защитите конфиденциальные данные: шифруйте документы на сертификаты получателей и расшифровывайте их закрытым ключом — через простые REST-запросы к КриптоАРМ Server.

Зачем нужно шифрование

Электронная подпись подтверждает, *кто* подписал документ и что он не изменялся. Но она не скрывает содержимое — документ остаётся читаемым для любого, кто его получил. Шифрование закрывает эту задачу:

  • Конфиденциальность. Зашифрованные данные может прочитать только тот, чей сертификат указан получателем, — владелец соответствующего закрытого ключа.
  • Требования закона. Персональные данные (152-ФЗ), коммерческая и банковская тайна требуют защиты при передаче и хранении.
  • Безопасная передача. Файл можно спокойно отправлять по открытым каналам — почте, облаку, файлообменнику: без ключа содержимое недоступно.
  • Пара с подписью. Типичный сценарий — сначала подписать, затем зашифровать: юридическая значимость плюс конфиденциальность.

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

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

Шифрование данных

Метод /cipher/encrypt принимает данные и сертификаты получателей, возвращает зашифрованные данные:

curl -X POST https://<host>/cipher/encrypt \
   -H "Content-Type: application/json" \
   -d '{
     "data": "SGVsbG8sIFdvcmxkIQ==",
     "certs": ["MIICFTCCAcKgAwIBAgIJQCFliUQmiIAQMA…"],
     "alg": "GOST_28147"
   }'

Ответ — зашифрованные данные в Base64:

{ "encrypted": "MIIB0wYJKoZIhvcNAQcDoIIB…" }

Файл можно зашифровать напрямую, без упаковки в Base64:

curl -X POST https://<host>/cipher/encrypt-file \
   -F "file=@document.docx" \
   -F "certs=@recipient.cer" \
   -o document.docx.enc

Расшифрование

Для расшифрования сервер использует закрытый ключ, доступный в системе. Если ключ защищён, передайте PIN-код:

curl -X POST https://<host>/cipher/decrypt \
   -H "Content-Type: application/json" \
   -d '{
     "data": "MIIB0wYJKoZIhvcNAQcDoIIB…",
     "format": "PEM",
     "pin": "******"
   }'

Ответ — исходные данные:

{ "decrypted": "SGVsbG8sIFdvcmxkIQ==" }

Для файлов — эндпоинт /cipher/decrypt-file, который возвращает расшифрованный файл напрямую.

Алгоритмы шифрования

Параметр alg выбирает алгоритм. Доступны как российские ГОСТ, так и зарубежные стандарты:

Алгоритм Описание
GOST_28147 ГОСТ 28147-89
GOST_R3412_2015_M ГОСТ Р 34.12-2015 «Магма»
GOST_R3412_2015_K ГОСТ Р 34.12-2015 «Кузнечик»
AES_256 AES с ключом 256 бит
DES3 Triple DES

Для работы с документами, которые должны оставаться совместимыми с российскими стандартами, выбирайте ГОСТ-алгоритмы.

Сведения о получателях

Не расшифровывая данные, можно узнать, на чьи сертификаты они зашифрованы:

curl -X POST https://<host>/cipher/recipients \
   -H "Content-Type: application/json" \
   -d '{"data": "MIIB0wYJKoZIhvcNAQcDoIIB…", "format": "PEM"}'

Ответ — список получателей без раскрытия содержимого:

{
   "recipients": [
     { "issuerName": "УЦ «КриптоПро»", "serialNumber": "120064ECE135…" }
   ]
}

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

Заключение

КриптоАРМ Server закрывает весь цикл защиты данных: шифрование на сертификаты получателей, расшифрование закрытым ключом и просмотр списка получателей — отдельными REST-вызовами, на ГОСТ-алгоритмах.

По вопросам интеграции шифрования пишите на support@trusted.ru

Вернуться к списку новостей

Подпишитесь и получайте новые статьи по почте

Заполните поле Подписаться

Подписываясь, вы соглашаетесь на получение информационных сообщений от компании
ООО «Цифровые технологии» на условиях Политики конфиденциальности

Спасибо, что подписались
на нашу рассылку!

Узнавайте новости первыми —
подпишитесь на нашу новостную рассылку

Заполните поле
Подписаться

Подписываясь, вы соглашаетесь на получение информационных сообщений от компании
ООО «Цифровые технологии» на условиях Политики конфиденциальности

Спасибо, что подписались
на нашу рассылку!

Для повышения удобства работы и хранения данных веб-сайт CRYPTOARM.RU использует файлы COOKIE. Продолжая работу с веб-сайтом, Вы даете свое согласие на работу с этими файлами.