使用POCO C ++给定公钥时验证JWT RS256

时间:2020-04-28 22:44:52

标签: c++ jwt amazon-cognito poco-libraries

我有一个由Amazon Cognito生产的JWT令牌。我想使用POCO C ++ JWT ultilites验证令牌,但是我不知道如何创建RSAKey对象。 JWT令牌使用RS256签名,AWS提供包含以下格式(relevant docs here)的公共密钥的文件:

{
    "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 docs来验证JWT令牌,但是他们使用HMAC密钥来验证令牌,而我(认为我没有)。

可以创建POCO :: JWT :: Signer类以使用RSA,但是我不知道如何将从AWS中获得的数据转换为RSAKey constructors接受的格式。

0 个答案:

没有答案