Signiere XML mit reinem Javascript im Browser

8

Ist es möglich, reines JavaScript zum Signieren von XML-Dokumenten im Browser zu verwenden?

Ich glaube, es gibt hier strenge Sicherheitsbeschränkungen, aber vielleicht gibt es einen Weg, das zu tun.

    
Ricardo Acras 15.04.2015, 00:00
quelle

4 Antworten

2

Wenn Sie die XmlDSig meinen, die den Zugriff auf den lokalen Cert-Store bedeutet, dann befürchte ich, dass es derzeit keine Möglichkeit gibt, einen zuverlässigen Javascript-Code zu haben, der auf den Cert-Store auf der Client-Seite zugreifen und ihn verwenden kann der private Schlüssel des Zertifikats

Hunderte von Entwicklern würden für eine solche Technologie sterben, die Web Crypto API ist jedoch immer noch ein Entwurf und wird nicht von Webbrowsern implementiert.

Um Dokumente auf der Client-Seite zu signieren, benötigen Sie noch eine OS-Bridge

  • ein Browser-Plugin - möglicherweise eine sehr schwierige Route, da das Schreiben von Plugins für alle möglichen Browser für alle möglichen Systeme ein Overkill sein könnte
  • ein Java-Applet - wenn man bedenkt, dass Chrome gerade die Unterstützung für NPAPI (plugin API) eingestellt hat, scheint dies obsolet zu sein. Mozzila wird die Unterstützung bald fallen lassen.
  • eine ClickOnce-Anwendung, die von einer .NET-Client-Plattform ausgeführt wird - die immer noch funktioniert, ist jedoch auf Betriebssysteme beschränkt, die .NET / ClickOnce
  • unterstützen

Wenn Sie mehr Referenzen benötigen, Google für "Javascript Access Certificate Store". Beispiel-SO-Threads:

Wie Zugriff auf Windows-Zertifikatsspeicher in JavaScript?

Zugriff auf den Browser-Zertifikatspeicher mit JavaScript

(diese und andere Threads unterstützen auch das Argument, dass dies momentan nicht möglich ist)

    
Wiktor Zychla 18.04.2015 19:23
quelle
2

Hier ist eine Lösung basierend auf Web Crypto - Ссылка

    
rmhrisk 03.05.2016 00:25
quelle
1

Ich suche nach der gleichen Funktionalität.

Ab sofort habe ich Ссылка gefunden habe es aber noch nicht versucht.

Für das Signieren (nicht XML) mit x509-Zertifikat habe ich erfolgreich Ссылка

verwendet     
acero 15.04.2015 13:23
quelle
0

Wenn Sie in einem Browser eine Signatur benötigen, benötigen Sie vielleicht eine spezielle Lösung? Zum Beispiel: Ссылка (Verwenden Sie Google Translate).

    
Pavel Patrin 18.04.2015 10:09
quelle