Diese Lösung ist sicher, über eine webSoket-Kommunikation auf das private Zertifikat des Benutzers im Web zuzugreifen?

Wir entwickeln eine Webseite, die das https-Protokoll (bidirektional) verwendet.

Wir müssen auf die privaten Zertifikate des Benutzers zugreifen, da wir Dokumente mit dem Zertifikat des Benutzers signieren müssen. Deshalb haben wir eine Java-Anwendung entwickelt, die über ein Websoket mit dem Web kommuniziert.

Diese Anwendung ruft seit dem Web mit einem Protokollaufruf auf (genau wie beim Öffnen eines PDF-Dokuments in Acrobat Reader über einen Browser).

So müssen wir sicherstellen, dass unser Web die native Anwendung aufruft (nur unser Web). Wir wollen ein System entwickeln, das dies sicherstellt. Unsere Idee:

Senden Sie einen öffentlichen Schlüssel, ein vom privaten Zertifikat des Servers signiertes Token und einen symmetrischen Schlüssel (zum Verschlüsseln der Websocket-Kommunikation) an die native Anwendung.Nächst überprüfen wir in der nativen Anwendung, ob das Token für einen Webdienst auf dem Server in Ordnung ist.Nachdem müssen wir den Websocket zwischen der nativen App und dem Web öffnen und das signierte Dokument auf diese Weise von der nativen App senden.Dann gesendetes Dokument an den Server.

Ist diese Implementierung sicher? Sind wir vor einem Mann in der Mitte sicher?

Jeder Vorschlag zu dieser Lösung ist willkommen, da ich keine Schwachstelle sehe, aber kein Experte für Sicherheit.

Ich kenne andere Lösungen für dieses Problem, wie Applets, JavaFX oder native Nachrichten auf Chrome, aber ich möchte nur wissen, ob diese Lösung sicher ist.

Vielen Dank im Voraus und sorry, wenn mein Englisch nicht das beste ist: P,

Antworten auf die Frage(2)

Ihre Antwort auf die Frage