Проверка JWT RS256 при использовании ключа publi c с использованием POCO C ++ - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть токен JWT производства Amazon Cognito. Я хочу проверить токен с помощью ультилитов POCO C ++ JWT, но не могу понять, как создать объект RSAKey . Маркер JWT подписывается с использованием RS256, и AWS предоставляет файл, содержащий ключ publi c в следующем формате ( соответствующие документы здесь ):

{
    "keys": [{
        "alg": "RS256",
        "e": "AQAB",
        "kid": "abcdefghijklmnopqrsexample=",
        "kty": "RSA",
        "n": "lsjhglskjhgslkjgh43lj5h34lkjh34lkjht3example",
        "use": "sig"
    }, {
        "alg":
        "RS256",
        "e": "AQAB",
        "kid": "fgjhlkhjlkhexample=",
        "kty": "RSA",
        "n": "sgjhlk6jp98ugp98up34hpexample",
        "use": "sig"
    }]
}

прочитайте POCO C ++ документы JWT при проверке токена JWT, но они проверяют токен, используя ключ HMA C, которого у меня нет (кажется, есть).

POCO :: JWT :: Класс Signer можно создать для использования RSA, но я не понимаю, как преобразовать данные, полученные из AWS, в формат, принятый конструкторами RSAKey .

...