Skip to contents

The write_pem functions exports a key or certificate to the standard base64 PEM format. For private keys it is possible to set a password.

Usage

write_pem(x, path = NULL, password = NULL)

write_der(x, path = NULL)

write_pkcs1(x, path = NULL, password = NULL)

write_ssh(pubkey, path = NULL)

write_openssh_pem(key, path = NULL)

Arguments

x

a public/private key or certificate object

path

file to write to. If NULL it returns the output as a string.

password

string or callback function to set password (only applicable for private keys).

pubkey

a public key

key

a private key

Details

The pkcs1 format is the old legacy format used by OpenSSH. PKCS1 does not support the new ed25519 keys, for which you need write_openssh_pem. For non-ssh clients, we recommend to simply use write_pem to export keys and certs into the recommended formats.

Examples

# Generate RSA keypair
key <- rsa_keygen()
pubkey <- key$pubkey

# Write to output formats
write_ssh(pubkey)
#> [1] "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDLR3OFS1jJiPdZB+QLVxIM6tu+x7ejBt0uVQPLVej3m6SHXoF/b9xInWApNbHl4WPW6DfpNGgey3mQkPi1MGrfN9M0WjZCPvEfE82XFDC4gUQX01IcelrBzpWmvJHqxYk1dBXEBCcZwOPR9MYpvLOC0uOu/ij036Eb6RCDn8yOU41HbNzOkDwLeAHBYXerOKMP8MNj8ryClYV1glB0wfoRRWuCUGwTCHXpmgbyZaycSQkUakuChsb10HYHTZTAkt9Ia/Y8BxhHc0sqIcfeQ3E+ZrloodVa5NNLpY9fKB+HAbyvRmv0ZmEcQVrco5PG8T4/0o+7+9uAIxRqgAGBsoB"
write_pem(pubkey)
#> [1] "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwy0dzhUtYyYj3WQfkC1c\nSDOrbvse3owbdLlUDy1Xo95ukh16Bf2/cSJ1gKTWx5eFj1ug36TRoHst5kJD4tTB\nq3zfTNFo2Qj7xHxPNlxQwuIFEF9NSHHpawc6VpryR6sWJNXQVxAQnGcDj0fTGKby\nzgtLjrv4o9N+hG+kQg5/MjlONR2zczpA8C3gBwWF3qzijD/DDY/K8gpWFdYJQdMH\n6EUVrglBsEwh16ZoG8mWsnEkJFGpLgobG9dB2B02UwJLfSGv2PAcYR3NLKiHH3kN\nxPma5aKHVWuTTS6WPXygfhwG8r0Zr9GZhHEFa3KOTxvE+P9KPu/vbgCMUaoABgbK\nAQIDAQAB\n-----END PUBLIC KEY-----\n"
write_pem(key, password = "super secret")
#> [1] "-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI2K7Q4lEpXdYCAggA\nMAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECLZXwN5Si6EuBIIEyAOsgE3MWJgb\nKUYZUN9i7A/aeDQkahqIwNAIi4QJyspX5V7aSo8BznQsmc82RD2D83BQI1BpoUF0\nYwF1XjSkN6uLacNlyN8IWcBxQ2asbcUCRKx8ZT7virgzqmsYprvNehDiEDHomVDv\naHxz+NdJFfUMThN59hRqFrcuVf72Kwc3rnmWimYPKZc6SnP9imU4h6fzvCkOs2vz\n0JHaZluU6hZBab3kIrXxlVRcAaPVZ8A0jOisyUpM9tmpgldhXjyWOmZnTC/vI/Pi\niIvUn/kLda3Ag09y32l/yHerTT/bYRnk7Z8Rv00FTXWHfvkT58d5LDJts3couMf2\n/+LPx4E3j2LS286DnaVHWCNpjozumBgFfkFP4oaNDeqUm3O86EQcga8BMWLRni9l\nBNNmxuLeIcOgXoTDQ+5Hgt2zsXaQX4Aj7XpdBUFzNCKgnKUcIgDCIcktY/31MKHZ\nNH+ZF5TkHANlD70gVVR1QskMMMVxplQ5qnzFgXH7uMFtbgZHYqIniX99bEcaab2J\n8aLTubUEyx9tqZwCzY9FjVlhwxBC6owsDi6GT6oQO7lKXOvlYURL82iuDgPkO9jm\n1nUs7Z/O4ib3WmDhYjc9jtB0++8b/nxuH0IAByZxVRytqTg4MddTshomJwIL76l5\njlS92zC/XHkUcxQ5+I8gADw0LPAStbfIcCEwgHbn89UfOsVFYsRjxFS+I79lgh1v\nxqTXio4QUTTexFInUjBqMFJCQ7jywi+eMMVXM/R7AISFaIpMTBtM4mEupCfOXdOH\nGnSl2sJbt9MaVdf6XIyk88F4B7g9MFzQ5mJAA9CDnb/7TcRenlznE/s9ITbHVMHm\nNzFazdrsn+LjKifjsrzSy0xwiebZxzYLTlxfDpb5t5wiweacwYYJpMRmtRGVegB0\n2uuelGhqfuTGrR9DJTEB6aFLn98l8h1G03MBSnUe21ExHsVVeUEQBk/YQW+QNtKI\nsHoOglOoZ4B7JtcWMqtTmQcAA6RpHj//HgxelyJS/DA8krIGoxnrEifL8FcDSNPt\nzLdzKkmtFCwlQYY8lnTm8Lxcta5jwr5BLB8AaaSy5TTqlhcXtcDi1AeLRDY81Aig\ny1kFt4JjFd8CzNOgIt77tWXl2t61UfH1NsmWcKEtGm4l0xVTZ7xb4ODUOrxxsGlK\nMiQBZbNo86ojkcxlTW6QVMQDktqSrsSSJmzJ+dMfMFyB+aiC9e3lP6GFd+YFebJa\n8CPNJwzhDiqneHxVTtlZyrvicTP7Tljs8wcIObMVe9UKhDQCY+zcT7SwJy/nR2d5\nBk6T5w1OdjZ/r83h5SiCp4FZjXIOfMAiweBon8Wcq9S6UZpysq8biq3XUzMEstke\nglP05ikF0gDockgCiuE0n+OmpbELtYg2Cw492q4rKIxXucyIKae7JzsrIdYJJt0L\n0zSok1RutAPn2GkRPKHpqqERbOmBUsOdtgVMcn5QapPqOYGuKphrzo6oVyJ1nSJg\nb8WgcSUPyO7OTjOJ0OjEy76eumbv7YnGbSQ8TvKRTs01Tt2qwwicZxjB6l/r2/Jx\nZeYzQOM0EyXm5lYse8y9+Fh0i3qQLmj0f3aWMVXgZGx7Me/waZ8WV4XF+N9yJZO5\nsccRr9FeonB1y/XTTJlnYw==\n-----END ENCRYPTED PRIVATE KEY-----\n"