Задать вопрос
@temperado

Можно ли реализовать электронную цифровую подпись на PHP?

Здравствуйте!
Есть задача давать пользователям скачивать с сайта подписанные с помощью ЭЦП файлы. Без применения сторонних криптографических пакетов а-ля Рутокен, а только силами сервера. Пользователи внешние, не в локальной сети.
1. Правильно ли я понимаю, что подписанный с помощью ЭЦП файл является зашифрованным и его нельзя открыть/использовать, не имея ключа?
2. Можно ли подписывать файлы только силами PHP (или задействуя через PHP какие-то ресурсы сервера)?
3. Если так можно, то как пользователь на своей стороне сможет расшифровать файл? Можно ли реализовать это на JavaScript, который будет работать в браузере клиента?
Спасибо.
  • Вопрос задан
  • 1280 просмотров
Подписаться 3 Простой Комментировать
Решения вопроса 1
DevMan
@DevMan
эцп не шифрует подписываемые документы, она шифрует только их хэш.
ответ на вопросы о возможности подписывания пхп/жс зависит от того как/где хранятся ключи.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@bdrevetsky
Обратите внимание на сервис myDSS от КриптоПРО, возможно он вам подойдет:
https://dss.cryptopro.ru/docs/articles/rest/signse...
Ответ написан
Комментировать
@DmitriiMikhailov
Подписание на стороне клиента и подписание на стороне сервера - это принципиально разные операции. В первом случае вы подписываете через cades плагин используя javascript, подпись выбирается из хранилища на стороне клиента. Во втором случае вы ставите на сервер КриптоПро, устанавливаете ключи и подписываете документы на сервере. Можете использовать КриптоПро SDK, можете использовать CryptoProBuilder. Для последнего не нужно устаналивать расширение в PHP, т.к. он работает через консоль.
Вот статья, здесь указано как устанавливается и какой функционал доступен:
https://habr.com/ru/articles/924478/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы