jwk: JSON web-keys

Description Usage Arguments Examples

Description

Read and write RSA, ECDSA or AES keys as JSON web keys.

Usage

1
2
3

Arguments

file

path to file with key data or literal json string

x

an RSA or EC key or pubkey file

path

file path to write output

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# generate an ecdsa key
library(openssl)
key <- ec_keygen("P-521")
write_jwk(key)
write_jwk(as.list(key)$pubkey)

# Same for RSA
key <- rsa_keygen()
write_jwk(key)
write_jwk(as.list(key)$pubkey)

Example output

Loading required package: openssl
{"kty":"EC","crv":"P-521","x":"Abzcz7hXIqz2vuwGr92B7J-2KWuxhUGAwU56XeU_j8ylDC1NGRSTlnTCFIjtxuYrixDVOMkjzqxBRKtQIz8mZT6G","y":"AVEIt6laVWjL3FeoFyr2F6_TC9eYN37feUf7n5hs9sEYudIhnw95B2OKPiqIvz5nqKKEDD86k7DdztYPMRIhoMLH","d":"ALncMs-2cMNe8Eqjj3yt7Dnipv8Jf5UqHYwXTdCM90I29M-ZTnsFaw94tEPbHb_olTZMZ7aZbac42MhdTT6U193O"} 
{"kty":"EC","crv":"P-521","x":"Abzcz7hXIqz2vuwGr92B7J-2KWuxhUGAwU56XeU_j8ylDC1NGRSTlnTCFIjtxuYrixDVOMkjzqxBRKtQIz8mZT6G","y":"AVEIt6laVWjL3FeoFyr2F6_TC9eYN37feUf7n5hs9sEYudIhnw95B2OKPiqIvz5nqKKEDD86k7DdztYPMRIhoMLH"} 
{"e":"AQAB","n":"AKT-nvxMX4YPR2_S8uUsbg5XB80ngCIITq6OpC0y3OadpC_wAk_sT1X-WhEnejfww40oYwzIcFdBdacwoym6IA1idSRFKqocWNj_oNYp-0phCmlTnhtU9wKw4YNJXYuuVn-CVcBjZuGKGMzgiUUHX7mRG6yj6iOjdBYFMHUa-Dgv2oB7YptHEOYoQh_3b36J7HYQHnANET5AqyQRzbxhx_qHKpnRnQdP-LurxT5bfDP8ktkhjlOyR-B7ybStDSqlhgtTCLcPI9PfGhOWdcNREe2t--NsehiGQi-ghABNsU0iWqORhc_t2Jyy1R5nkQnoxKkCSDxTnTDUuWCcERqsgRM","p":"ANu8_rbbCMFX_3L2uSMFUs_0PNdqc7E1jnwiR5TRAgEjU22SvsIOXi8eqQlCpm5W0mtrZMmGAbHD6aBcRQlm6FkBtCdCcUvPHb_hD8c4gZAZwyD1ykN5xF1AK-4kMpZhJNrnmgkD_gvD8yd4HlHKV3R4Z6Hm3l4A0lvqm78Z293v","q":"AMA48LO17F8VbTsRGqxu6nkN4oynwn1MbE7aIbTqObIOJ6zAOC_d6rC-KICOWRvC_6Gol5wZHMnzfF5p3YGp7BrNLjnw_G4EW5mnfSjBR8LMsiE2fEumKa-gwGo7_zMxtv1mG1O7oGxNzfxehwZLWW1mgjYIs5AA_PXaP6ILDnMd","d":"IwrM-2rBEvjlxDM6UUAZc8Q6LPFJvnCjPWGgLtVRo00x1NiVtSHMS8hEmsYWqBDjh3RfbRSY_38wnLywuqkEK7OQi46BHDX_DL9mCnZKH6byjiIrP0TRXWnxy29mhccWKeili8HQ1O_-imzZ2qZRR1kxVn5NuRn7Cr45Z3W96DiyIbzOhmqWtx2nu2S9ldJnGLW07z83UqNIk0OwHYpX-cctIc9JbekY-CPDYVuY1MPZO2DD_24wez1cp0MVlKQZympmuYcruz_hH-Z62q2Q_dinYOWVvQyercOITG4AzkgxYEjtE8C4EWp5q3Lto7jG2wNLvpGYQlVUhvjqpjiC-Q","dp":"Gg1MPa22WgXu2Vh7FrXY3aLdW8TZNpdc70a5KeGl1TC1AXa2exds_zUpYVmvlcFhbS7sYiArL0JE_qgx3y1-Op9DFqx_9jb2Ffu-_SWr5sPHKK87bciQCWZETxWnkcCut-1hi9QXWJnAyFsrbRMKT1q_HqjakFaUmiU0lfGg6a0","dq":"W3R76TT8Mj0SjFDV_QaEnnXhvQQwP8c1nMqh0N7D9phPfhyyXuvZtp-yy39unAvJ7lM1VvqHvPoQySbbUc7T2-iVPtIOeBWws0mB_fr_tooHkk_HEYMMQFheU-0ZvXTA2I1VISCa8gyOna0n1vHQqYFlIGpBbJlbwWlGb0WNaW0","qi":"dcVy4y3vtgUaS_WrUg0PGDpjbN2hJKXzDxvL7-iRuVVEXirQ4kQCO5g5GgOJadQkiWi46KgEKJ-Z4BnuvML4whzs6EFcrCIzNqu_IdsbYc_yYV9RIjTPuJkeRr3dmMKCkhjwhTTUfaiUVSNqR4UTbtIxZBn-TKSrTT_Qp-u3Crw","kty":"RSA"} 
{"e":"AQAB","n":"AKT-nvxMX4YPR2_S8uUsbg5XB80ngCIITq6OpC0y3OadpC_wAk_sT1X-WhEnejfww40oYwzIcFdBdacwoym6IA1idSRFKqocWNj_oNYp-0phCmlTnhtU9wKw4YNJXYuuVn-CVcBjZuGKGMzgiUUHX7mRG6yj6iOjdBYFMHUa-Dgv2oB7YptHEOYoQh_3b36J7HYQHnANET5AqyQRzbxhx_qHKpnRnQdP-LurxT5bfDP8ktkhjlOyR-B7ybStDSqlhgtTCLcPI9PfGhOWdcNREe2t--NsehiGQi-ghABNsU0iWqORhc_t2Jyy1R5nkQnoxKkCSDxTnTDUuWCcERqsgRM","kty":"RSA"} 

jose documentation built on Nov. 6, 2021, 5:07 p.m.