如何使用 RSA 作为 kty jwk 参数(使用 jose4j)
How to use RSA as kty jwk parameter (using jose4j)
我正在使用 jose4j
通过 JWE 加密字符串,遵循此文档 https://bitbucket.org/b_c/jose4j/wiki/JWE%20Examples
在示例中,他们使用了 {\"kty\":\"oct\",\"k\":\"Fdh9u8rINxfivbrianbbVT1u232VQBZYKx1HGAGPt2I\"}
效果很好,但是如何使用RSA作为kty呢?我应该自己生成一个密钥并将其放在“k”参数中吗?
不,RSA 密钥的 JWK 表示具有不同的参数,例如:
{
"kty":"RSA",
"n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx
4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMs
tn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2
QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbI
SD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqb
w0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
"e":"AQAB",
"alg":"RS256",
"kid":"2011-04-29"
}
参见 RFC7517:https://www.rfc-editor.org/rfc/rfc7517
Hans 回答的补充,我查看了 Jose4j Github,有许多测试帮助我了解 RSA 如何在此库上工作。
我正在使用 jose4j
通过 JWE 加密字符串,遵循此文档 https://bitbucket.org/b_c/jose4j/wiki/JWE%20Examples
在示例中,他们使用了 {\"kty\":\"oct\",\"k\":\"Fdh9u8rINxfivbrianbbVT1u232VQBZYKx1HGAGPt2I\"}
效果很好,但是如何使用RSA作为kty呢?我应该自己生成一个密钥并将其放在“k”参数中吗?
不,RSA 密钥的 JWK 表示具有不同的参数,例如:
{
"kty":"RSA",
"n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx
4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMs
tn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2
QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbI
SD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqb
w0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
"e":"AQAB",
"alg":"RS256",
"kid":"2011-04-29"
}
参见 RFC7517:https://www.rfc-editor.org/rfc/rfc7517
Hans 回答的补充,我查看了 Jose4j Github,有许多测试帮助我了解 RSA 如何在此库上工作。