JWT.io проверяет токен на основе пустого секрета и говорит, что подпись проверена - PullRequest
2 голосов
/ 24 апреля 2020

Я совершенно новичок в этом, поэтому, пожалуйста, ответьте на мой вопрос, если он совершенно глупый. Я учусь проверять подпись, используя https://jwt.io

Вот что я делаю

Сгенерированная пара открытых / закрытых ключей

Закрытый ключ

-----BEGIN EC PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,4A6A48288A531DCA

m2glcvku6rdV8z0QBsBc3Hc72vG4NN3wIPnqdC47FTA3y9WiD7Ukh4m3ZpL2mraz
7PSblIe8ob/aaG9TYViIb4QRYZFg8z3jR6WeNEhC2EbC2CwkSSH3ug8ViQ+1i8d1
kMnQDK1i/s0BZvxlhKPuSy2kOIjelWctkDHvJyvU/WQ=
-----END EC PRIVATE KEY-----

Publi c Ключ

ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHpqkegB/A/12vqfApHOaFXaJcHkyhNw1u9XnZe2+hiDT698U4c3iet5VyTo3D1DOe7Xi5dG07UorsMvWCmSbvU= 

Я использовал этот веб-сайт для генерации ECDSA-256 пары ключей с парольной фразой в виде H2

Создание JSON веб-токена (JWT)

Я использовал http://jwtbuilder.jamiekurtz.com/ для создания токена

Я использовал закрытый ключ, чтобы подписать JWT. Ниже приведен токен

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJIYXJpdCIsImlhdCI6MTU4Nzc1MjM3NCwiZXhwIjoxNjE5Mjg4Mzc0LCJhdWQiOiJodHRwczovL3d3dy5oYXJpdC5kZXYiLCJzdWIiOiJjb250YWN0QGhhcml0LmNvbSIsIkdpdmVuTmFtZSI6Ikhhcml0IiwiU3VybmFtZSI6IkhpbWFuc2h1In0.pmvGfBXH4603YMGYDB6qOXlQjhfdPulvbODrK70ihS0

Проверка

I go на веб-сайте https://jwt.io и ниже видео того, что я пробовал

JWT Issue

Вопрос

Как JWT проверяет и сообщает его в качестве действительной подписи, когда секрет пуст. Я даже не предоставил секрет.

Чего мне не хватает?

1 Ответ

2 голосов
/ 24 апреля 2020

Когда вы вставляете токен слева и затем меняете секрет или ключ в поле ввода в правом столбце, вычисляется новая подпись, а затем автоматически проверяется. И секрет также может быть пустым, не рекомендуется, но возможно.

Пожалуйста, обратите внимание, что происходит с частью подписи вашего токена в левой колонке. Вы заметите, что это изменилось!

Это часто приводит к недоразумениям, люди спрашивали здесь, почему их токен был проверен с заданным секретом, но их API сказал, что он недействителен. Но они не заметили, что подпись была пересчитана при вводе секрета.

Если вы хотите проверить, можно ли проверить токен с данным секретом, вам всегда нужно сначала вставьте секрет в поле ввода в правом столбце (в разделе ПРОВЕРЯТЬ ПОДПИСЬ) и , затем вставьте токен в левый столбец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...