Digitales Signieren von Daten im Browser mithilfe einer Smartcard oder eines Zertifikats

Ich muss mithilfe eines Webbrowsers eine digitale Signatur einiger XML-Daten mit einem Client-Zertifikat (Smartcard) erstellen. Normalerweise habe ich es mit einem Java-Applet gemacht, das auf der Clientseite ausgeführt wurde. Der Vorteil ist die Multiplattform in Bezug auf Betriebssystem und Browser.

Diese Option wird jedoch auf lange Sicht immer schwieriger zu implementieren und zu unterstützen. Praktisch alle Browser erfordern eine Aktion, um ein solches Applet auszuführen. Das Signieren von Code mit einem vertrauenswürdigen Zertifikat ist heutzutage fast obligatorisch, neue Manifestattribute und so weiter. Nun, an einer zusätzlichen Sicherheitsstufe ist nichts auszusetzen, und damit bin ich einverstanden.

Ab April 2015 hat Google Chrome die Unterstützung für Java-Applets (und andere Plugins) eingestellt - es gibt einen Konfigurationsschalter, der jedoch nicht mehr lange verfügbar ist, wie angegebenHie.
Mozilla Firefox hat kein Support-Enddatum für NPAPI, aber sie nennen es " Legacy-Technologie ".
As for IE - Plugins in der modernen Benutzeroberfläche werden nicht unterstützt.

So mit Java-Applets nicht mehr wirklich eine universelle Option, was sind meine Möglichkeiten?
Was ich bisher untersucht habe:

ActiveX - nur IESilverlight - Kein Zugriff auf Zertifikate und als Plugin gelten dieselben Einschränkungen wie bei Java Browser spezifische Erweiterungen; Zum Beispiel hatte Firefox bis Version 33 window.crypto.signText, aber nicht mehruf dem Client installierte lokale Anwendungen - nicht einfach zu installieren, zu unterstützen, zu entwickeln und zu aktualisieren für mehrere Betriebssysteme und ihre verschiedenen VersioneWeb Cryptography - "Nur grundlegende kryptografische Funktionen", keine Zertifikatsunterstützung

Ich habe keine Ideen mehr. Alle Vorschläge sind willkommen und geschätzt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage