2015-07-14 10 views
6

Ich habe ein Token mit dem privaten Schlüssel von JWT erstellt, aber wenn ich versuche, es auf http://kjur.github.io/jsjws/tool_jwt.html zu decodieren, fand ich, dass das Token ohne Schlüssel dekodiert werden kann. Ist es also richtig, dass der JWT-Token nur eine Signatur ist? Wie kann man verhindern, dass der Token ohne den Schlüssel entschlüsselt wird?JWT-Token ohne das Geheimnis entschlüsseln

+0

Suche um für 'JWE' (' JSON Web Encryption'), das ist ein Weg, JWT der Darstellung in einer verschlüsselten Weise. – robertklep

Antwort

4

Es gibt zwei Möglichkeiten, wie ein öffentlicher/privater Schlüssel von einem JWT verwendet werden kann: Signieren und Verschlüsseln.

Wenn Sie einen privaten Schlüssel zum Signieren verwenden, kann der Empfänger den Absender des JWT und die Integrität der Nachricht identifizieren, indem er seinen Inhalt nicht vor anderen geheimhält (Vertraulichkeit). Beachten Sie, dass der private Schlüssel des Absenders verwendet wird, um die JWT zu signieren und ein JSON Web Signature (JWS) -Objekt zu erstellen. Anscheinend gilt das für das JWT, das du dir ansiehst.

Wenn Sie einen öffentlichen Schlüssel für die Verschlüsselung verwenden, können Sie damit Inhalte von anderen Personen als dem beabsichtigten Empfänger verbergen. Das Ergebnis ist ein JSON Web Encryption-Objekt. Beachten Sie, dass der öffentliche Schlüssel des Empfängers zum Verschlüsseln des JWT verwendet wird. Anscheinend suchen Sie genau danach.

See: http://jose.readthedocs.org/en/latest/

+0

vielen dank, Hans, das ist eigentlich was ich brauche. – user440446

Verwandte Themen