JSON Web Keys (JWK) is a format specified in RFC7517 for storing RSA/EC/AES keys in a JSON based format. It can be used to import/export such keys in the browser using the new W3C WebCryptoAPI.
The jose package makes it easy to read/write such keys
in R for use with JWT or any other functionality from the
openssl package.
Linking to: OpenSSL 3.5.5 27 Jan 2026
{
"kty": "EC",
"crv": "P-256",
"x": "JiW8QRHABDqYL9ZAl0Zun37Fu3hmKAnwxF0rDh_DrQk",
"y": "SbPdcTcjN0t_90ImOm58l_h7SwDJ2ooWKKXiVVr9R8Q",
"d": "qWmbm2AMSje02qECCl69zMw41se6LjR7NNQwefDLwqM"
}
{
"kty": "EC",
"crv": "P-256",
"x": "JiW8QRHABDqYL9ZAl0Zun37Fu3hmKAnwxF0rDh_DrQk",
"y": "SbPdcTcjN0t_90ImOm58l_h7SwDJ2ooWKKXiVVr9R8Q"
}
[256-bit ecdsa public key]
md5: aaf35548875e2133688fe0cbba593786
sha256: 48e9752aab6d171d5d838ee3ea000579097cc6e0eb45851d98e6bbd0900a719a
[1] TRUE
JWT also specifies a format for encoding AES/HMAC secrets. Such secret keys are simply raw bytes.
[1] 72 7b 51 9e 94 06 c2 71 3c 86 20 ce 57 33 e1 6c
{"kty":"oct","k":"cntRnpQGwnE8hiDOVzPhbA"}
[1] 72 7b 51 9e 94 06 c2 71 3c 86 20 ce 57 33 e1 6c