# NOT RUN {
vault <- key_vault("mykeyvault")
vault$keys$create("mynewkey")
vault$keys$create("myRSAkey", type="RSA", rsa_key_size=4096)
vault$keys$create("myECkey", type="EC", ec_curve="P-384")
vault$keys$list()
vault$keys$get("mynewkey")
# specifying an expiry date
today <- Sys.date()
vault$keys$create("mynewkey", attributes=vault_object_attrs(expiry_date=today+365))
# setting management tags
vault$keys$create("mynewkey", tag1="a value", othertag="another value")
# importing a key from a PEM file
vault$keys$import("importedkey1", "myprivatekey.pem")
# importing a key generated by OpenSSL
vault$keys$import("importedkey2", openssl::rsa_keygen())
# importing a JWK (which is a JSON string)
key <- openssl::read_key("myprivatekey.pem")
jwk <- jose::write_jwk(key)
vault$keys$import("importedkey3", jwk)
# backup and restore a key
bak <- vault$keys$backup("mynewkey")
vault$keys$delete("mynewkey", confirm=FALSE)
vault$keys$restore(bak)
# }
Run the code above in your browser using DataCamp Workspace