Как реализовать цифровую подпись с моим существующим веб-проектом - PullRequest
0 голосов
/ 02 мая 2018

Я работаю над проектом, где пользователь должен сделать цифровую подпись на документе. Я зарегистрировался в Google и знаю о sinadura, который является настольным приложением, но мне нужно вызвать это в моем веб-приложении.

Я установил Alfresco Community Edition на сервер Linux (https://www.alfresco.com/thank-you/thank-you-downloading-alfresco-community-edition) и следовал инструкциям, приведенным ниже, ссылка на GitHub.

https://github.com/zylklab/alfresco-sinadura

Я успешно выполнил приведенные выше инструкции. Но Alfresco - это большой проект, который также имеет несколько других функций. Но мне это не нужно, и мне просто нужно внедрить часть цифровой подписи в мое собственное веб-приложение, подобное alfresco

Как реализовать часть цифровой подписи в моем существующем проекте? Может ли кто-нибудь, пожалуйста, дать предложение

Ответы [ 3 ]

0 голосов
/ 07 мая 2018

В Alfresco есть некоторая конфигурация для создания настраиваемого действия.

Вы можете создать пользовательское действие на свежем воздухе,

И вы можете выполнить свой код класса Java для создания цифровой подписи в файле.

Вы можете взять ссылку из этого Java-класса

0 голосов
/ 12 мая 2018

Трудно сказать, что будет соответствовать вашим требованиям на высоком уровне, который вы предоставили. «Цифровая подпись» является очень широким и общим требованием. Легальные цифровые подписи могут быть простыми, как текстовое поле с конкретными инструкциями для пользователей о том, как набирать соответствующую подпись . И, конечно же, вы можете пройти весь путь до подписания документов с зашифрованными сертификатами.

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

Одной из идей было бы рассмотреть предложение SaaS, например Docusign или RightSignature .

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

0 голосов
/ 07 мая 2018

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

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

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

  1. Веб-приложение запрашивает подпись локального программного обеспечения с использованием безопасного веб-соединения. Например https://localhost:1234/sign?doc=xxxx. Браузер ожидает результата

  2. Локальное приложение получает документ, просит пользователя выбрать сертификат или ввести карточку и сделать подпись. Поскольку это локальное приложение, нет никаких ограничений безопасности

  3. Веб-приложение получает результат. Он может запросить локальное приложение через службу REST или открыть веб-сокет.

Концепция проста ( веб-приложение, которое запрашивает подпись у локального приложения ), но построение приложения этого типа довольно сложное, поскольку необходимо учитывать множество других факторов:

  • Установка и распространение программного обеспечения

  • Безопасность и шифрование

  • Форматы цифровой подписи: XAdES, CAdES, PAdES и т. Д. Они могут быть реализованы в приложении или использовать службу подписи в 3 этапа, когда документы находятся на сервере и один хэш подписывается локально

Поэтому я рекомендую использовать существующее решение:

  • @ firma + Autofirma : решение с открытым исходным кодом, продвигаемое и используемое государственной администрацией в Испании

  • SD-DSS + nexU (lowina): решение с открытым исходным кодом, предложенное Европейской комиссией. Проверьте демо здесь

  • Подписание Chrome-токена : Расширение Chrome и Firefox для подписи с помощью вашего eID в Интернете, разработанное для правительства Эстонии

Sinadura также является инициативой с открытым исходным кодом, и из того, что я видел, она работает аналогичным образом, но я не знаю, есть ли у нее важные ссылки, и я не нашел API

...