1

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

在示例中,他们使用{\"kty\":\"oct\",\"k\":\"Fdh9u8rINxfivbrianbbVT1u232VQBZYKx1HGAGPt2I\"}

它运作良好,但如何使用 RSA 作为 kty ?我应该自己生成一个密钥并将其放入“k”参数中吗?

4

2 回答 2

1

不,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

于 2021-01-27T10:38:38.133 回答
0

汉斯回答的补充,我查看了 Jose4j Github,有很多测试帮助我了解 RSA 如何在这个库上工作。

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

于 2021-01-28T08:58:51.650 回答