Ich habe einen Scala (mit Akka-http ) Webserver, das mit Instanzen sprechen kann von selbst (dezentrales Modell). Ich habe kürzlich den Server so aktualisiert, dass SSL und https . Zertifikate: < /p>
Code: Select all
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: (certificate_unknown) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Eine schnelle Suche nach der Ausnahme führt mich zu diesem Beitrag. Ich hatte den Befehl keytool an verschiedenen Stellen gesehen, als ich SSL in scala /recherchierte
Code: Select all
Java
Handshake -Prozess Der Prozess lautet wie folgt: < /p>
- Benutzer A erstellen eine Registrierungserrequest (ServerID, Serverip, Alias) < /code> an Benutzer B und einen Datenbankeintrag für Benutzer B < /li>
Benutzer B empfängt die Anforderung und erstellt einen Eintrag in der Datenbank für den Benutzer A < /li>
Benutzer B (der tatsächliche Endbenutzer) klickt auf "Akzeptieren" auf Das Front-End für die Anfrage von Benutzer A - Benutzer B Senden Sie eine Registrierungspunkte an den Benutzer A
- Benutzer A empfängt die Anforderung an Akzeptieren. und aktualisiert die Datenbank, um widerzuspiegeln, sie wird akzeptiert
- Der Chatter -Service wird an beiden Enden gestartet
Vielen Dank im Voraus! mit diesem Projekt und integrierte viele Funktionen in das Backend. Das System soll jedoch auf sich auf Sicherheitsgründen konzentriert sein. Wenn ich also so fortfahre, ist SSL ein Muss.
Ich wollte das gesamte Backend nicht wirklich neu schreiben Aber angenommen, ich habe es getan, sind WebSockets was ich hier anstelle meines aktuellen Ansatzes möchte? > scheint zwei Ansätze zu geben, von denen ich mich nicht ganz sicher bin (aus Sicherheit der Sicherheit). Ein einzelnes RootCa -Zertifikat, mit dem ich die SSL Zertifikate generiere. Dies scheint Sicherheitsauswirkungen zu haben, wenn jemand das RootCa < /code> erstellt und seine eigenen Zertifikate generiert. http (port 8080) und ein anderes für https (port 8443). Zur Authentifizierung von Anmeldeinformationen (und Bereitstellung eines Tokens) und zum Hinzufügen eines Zertifikats zum TrustStore (nur wenn das Token gültig ist). > Routen werden abgelehnt, wenn das Zertifikat nicht vorhanden ist oder das Token ungültig ist, aber für registrierte Benutzer funktioniert. , aber es scheint besser als der Versand mit rootca , da es zumindest die Authentifizierung um sie abgeschlossen hat (oder stehe ich falsch?)