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)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 AAAAB3NzaC1yc2EAAAADAQABAAABAQChAb6PqZb7AynyNrvnbeGX1vCz0nt3xMg9R1R3QKOi4bPgY1/4hLB7/KQ1skUxSRrhEJ49bJcTcx/neAO/gdcTBdTffXUcyWlip2g5BqRzeZcwdedV6MKwR0nXjH9I8dEA7681A1+UZJ01mUGiAaHNYPIcoJZXnC1acnDfR3QcqrMv9VjoclmTxv/LmKRRvp3edSEG7ToZ2ZXrkTpCS9PQPFui4Ihu+hiPK9sbJZ37x9WNZ6Gg3diIvtbIQevfPAyuhw/p5+oDh9TylzufadG6bzTqHcdk+FY+zpNOr73/S+9guls5rUffeWvpg8BTf3JU6LYeD18tcH2HIZMb+UBH"
write_pem(pubkey)
#> [1] "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoQG+j6mW+wMp8ja7523h\nl9bws9J7d8TIPUdUd0CjouGz4GNf+ISwe/ykNbJFMUka4RCePWyXE3Mf53gDv4HX\nEwXU3311HMlpYqdoOQakc3mXMHXnVejCsEdJ14x/SPHRAO+vNQNflGSdNZlBogGh\nzWDyHKCWV5wtWnJw30d0HKqzL/VY6HJZk8b/y5ikUb6d3nUhBu06GdmV65E6QkvT\n0DxbouCIbvoYjyvbGyWd+8fVjWehoN3YiL7WyEHr3zwMrocP6efqA4fU8pc7n2nR\num806h3HZPhWPs6TTq+9/0vvYLpbOa1H33lr6YPAU39yVOi2Hg9fLXB9hyGTG/lA\nRwIDAQAB\n-----END PUBLIC KEY-----\n"
write_pem(key, password = "super secret")
#> [1] "-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIqGPC6CHLmBACAggA\nMAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECIrp4ycHH3RSBIIEyEGihn4zG90H\nZoOgbwq0q8XbX4HgueJ9ApDgGQqYM9I9+1YzT9VA5TA/z9ZOTkhfN6TGpuj99mKt\nJVZx0yuNUfP3kaBaGN0p/lAoOIP7YfSa5PtVS+MrymCE94bylmjBp03KSJRuAvv+\n25FUw2xnXrPw/NKLLQhH/MhVqF6q1+wEmgAGOsr2ECbF8KmJu78g139ZbXVRega5\nsHQ7jp2zBsDtJWZpYD7Jo/RLVD+we92JJT4MfHb45luXFXdnDwSsREjxeE8QIhbb\njUF/r21wGtreCHsVsql8bb6UIJ2E7OpIebdI4cAZgGVMg01ydpjLIfgnoBFdWCJQ\neBQZDBajvZDKKqryf4EElCRvsqZWI52x+rFMNFl9YjyFG6xm01keb57PzouD6uMc\n3mw036EfvKoyMPdNIyXqCuffAvGePpqj1M+1rq+uDxKk9I6VNjuY+CzI11eD5NCT\nfiQP5iCfPTOkYycAiZnf9BvZcRrAqu60SjsE4cskGzsI4fOFm5rinmpBdECEZrrT\nXApmmL4eHb+zdOVAtVqE733I8Wg3ZtLjkxc5z0kBlOdWrtJl1UVtqDpMUcnpgpTZ\naUI3NhOb0jUVHb7nHF8s0zJSH7saBjPQ//7imjia1GbYpCXXPSdbcnpmdDUaqZzC\n751XEniLpnrOe8LHiCVtrQc3l14UrIjDC2DfiW1EZSPkXu+oA8aHoK00ygk/7X6Q\nHD7LUnjEc/jpi0DYT5/Xd06EDq/i47m+pUtCc4ueMlLjTqL7VntpwETWTIBxjfHh\nwVcjSLzHD2oPZkPbs6NCUrqC//gNIHVxzr2NST426DLW8CmHi/rHRroZfVFtyLIm\n/0GjQUoYLqgXpbXVvtNEP6KoEO7TFn38p3Vqbqvbc3fFW81O6n/bzp+n11L7lUI2\nxcRttpEgRoaVcG/1es+uz8FMNlY6a/FgA2eDTK6djsHEDAUTEbc6JGx3+D+/wuH2\n4yluyqNIqh3CuGU7F3YdKoPHEhda3Osg4fNDrEs4ElQaxIESKnRsgqRSEwHY/0fA\n4+/MslFWAGBY/7pkvHV6GQgQ7R1FMtRThdqVgCM2caXsj5Bhyz5RX5mvXLvIeafB\njRHydnapJtMy4mgsF9cQO0mmXroXs8uKGHculTP5dFXUonHw7zqS3y53SNmgUOtu\nn92k1S3CWEEF8D5gxnRio2wT2OPnA206jYA5W/ip3hYfDNJATyPmeYq7iLkerImi\nVhfRFtAr3NczO6vV0EFiNBMzqilxMrV/VzMp6JhLEE7FHJAEJ5O5mZlu6gNeu5LM\ncpPYN2n5gNxlnCytwMdztDzdeSzu7dmjGov++/kqr/FUKPM3u11ABmNrnitty0nF\nAVOYoo/ZLdZHE3RZQXQQ0IT/ILF9OWYsX0FECD/5oCJrZjNHX0fQifHIsrmECG3d\nTFxFi3OSiOrUKZ9i2xmzUdy+NrluFCiKtUdqnkTM0OjD2KQLrqcHtAm0qPSgJBHz\niAmLQYD8dFJgnpsRT6v77zp2/cdRs3K9utN5W2+M0kbBlHpGQIr/fRaNGkKmrXtm\n3UPrGYQqAOrGOOXZ2r4A6n2dz4DPMjVpNht01GP8OWDS2QS6QKysNoaA9GT884ke\nYDnjy6oETF/8ZnyON9Vfbg==\n-----END ENCRYPTED PRIVATE KEY-----\n"