Как использовать RSA в качестве параметра kty jwk (используя jose4j)

Я использую jose4j для шифрования строки с помощью JWE, следуя этой документации https://bitbucket.org/b_c/jose4j/wiki/JWE%20Examples

В этом примере они использовали {\"kty\":\"oct\",\"k\":\"Fdh9u8rINxfivbrianbbVT1u232VQBZYKx1HGAGPt2I\"}

Работает хорошо, но как использовать RSA как kty? Должен ли я сгенерировать себе ключ и поместить его в параметр k?


person Sushi    schedule 27.01.2021    source источник


Ответы (2)


нет, представление ключа 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://tools.ietf.org/html/rfc7517

person Hans Z.    schedule 27.01.2021
comment
Спасибо! а достаточно зашифровать + расшифровать? он будет использоваться в обоих направлениях? - person Sushi; 27.01.2021
comment
Именно Ганс, спасибо. Я нашел примеры на github jose4j здесь: github.com/pvliesdonk/jose4j/blob/master/src/test/java/org/ - person Sushi; 28.01.2021

Дополнения к ответу Ханса, я посмотрел на Jose4j Github, и было много тестов, которые помогли мне понять, как RSA работает в этой библиотеке.

Нашел здесь свой ответ: https://github.com/pvliesdonk/jose4j/blob/master/src/test/java/org/jose4j/jwe/RsaOaepKeyManagementAlgorithmTest.java

person Sushi    schedule 28.01.2021