The keygen functions generate a random private key. Use as.list(key)$pubkey to derive the corresponding public key. Use write_pem to save a private key to a file, optionally with a password.

rsa_keygen(bits = 2048)

dsa_keygen(bits = 1024)

ec_keygen(curve = c("P-256", "P-384", "P-521"))

x25519_keygen()

ed25519_keygen()

Arguments

bits

bitsize of the generated RSA/DSA key

curve

which NIST curve to use

Examples

# Generate keypair
key <- rsa_keygen()
pubkey <- as.list(key)$pubkey

# Write/read the key with a passphrase
write_pem(key, "id_rsa", password = "supersecret")
read_key("id_rsa", password = "supersecret")
#> [2048-bit rsa private key]
#> md5: 6006207ec75a37f8fd1a339ac72bbbd9
#> sha256: a43e5c1002b912197e15a8d51d2d9623d4686dcbe35a0c0a25f7255892e3d1f0
unlink("id_rsa")