如何使用RSA作为kty jwk参数(使用jose4j)



我使用jose4j用JWE加密字符串,遵循此文档https://bitbucket.org/b_c/jose4j/wiki/JWE%20Examples

在这个例子中,他们使用了{"kty":"oct","k":"Fdh9u8rINxfivbrianbbVT1u232VQBZYKx1HGAGPt2I"}

它工作得很好,但是如何使用RSA作为密钥?我是否应该自己生成一个键,并将其放入"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如何在这个库上工作。

在这里找到我的答案:https://github.com/pvliesdonk/jose4j/blob/master/src/test/java/org/jose4j/jwe/RsaOaepKeyManagementAlgorithmTest.java

最新更新