Мне нужно создать цифровую подпись некоторых данных XML с сертификатом клиента (смарт-картой) с помощью веб-браузера. Обычно я делал это с помощью java-апплета, выполняемого на стороне клиента. Преимущество мультиплатформенного с точки зрения ОС и браузеров.
Однако этот вариант становится все сложнее и сложнее реализовывать и поддерживать в долгосрочной перспективе. Практически все браузеры требуют какого-то действия для выполнения такого апплета, подписание кода с доверенным сертификатом в наши дни является почти обязательным, новые атрибуты манифеста и т.д. Ну, нет ничего плохого в дополнительном уровне безопасности, и я в порядке с этим.
Однако Google Chrome по состоянию на апрель 2015 года прекратил поддержку Java-апплетов (и других плагинов) - есть переключатель конфигурации, но он будет недоступен дольше, чем указано .
Mozilla Firefox не поддерживает дату поддержки NPAPI, но они называют ее "устаревшие технологии".
Что касается IE - он не поддерживает плагины в Modern UI.
Итак, с апплетами Java больше не является универсальным вариантом, каковы мои варианты?
До сих пор я исследовал:
- Только ActiveX - только IE
- Silverlight - нет доступа к сертификатам вообще и как плагин сталкивается с теми же ограничениями, что и Java
- Расширения для браузера; Например, Firefox до версии 33 имел обыкновение иметь window.crypto.signText, но не больше
- локальные приложения, установленные на клиенте, - нелегко установить, поддерживать, разрабатывать и обновлять несколько ОС и их различные версии.
- Веб-криптография - "только основные криптографические функции", поддержка сертификатов
У меня кончились идеи. Все предложения приветствуются и оцениваются.