Проблема с токеном JWT - PullRequest
       5

Проблема с токеном JWT

0 голосов
/ 22 октября 2019

Я создал токен jwt, используя открытый ключ хранилища ключей java и библиотеку io.jsonwebtoken. После генерации я скопировал и вставил сгенерированный токен на сайт https://jwt.io. Он расшифровал мой токен без использования закрытого ключа. Почему это возможно?

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
PrivateKey privateKey = pair.getPrivate();
Claims claims = Jwts.claims().setSubject(userName);
        claims.put("scopes", scopes);
        String token = Jwts.builder()
                .setClaims(claims)
                .signWith(SignatureAlgorithm.RS256, privateKey)
                .compact();

1 Ответ

1 голос
/ 22 октября 2019

Ваш JWT только подписан, но не зашифрован. Главная особенность безопасности входящего JWT состоит в том, что у него есть контрольная сумма / подпись в конце. Ваша Java-программа имеет возможность проверить, что контрольная сумма соответствует фактическому содержимому JWT (например, заголовки и утверждения). Если контрольная сумма не совпадает, то сервер предположит, что JWT был подделан, и отклонит его. Основное использование JWT - это не столько защита критической информации, сколько контроль авторизации и аутентификации в вашем приложении.

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