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.
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)
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.
# Generate RSA keypair
key <- rsa_keygen()
pubkey <- key$pubkey
# Write to output formats
write_ssh(pubkey)
#> [1] "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCtjSBMvKrUx/Gfx5v3DxsfkvuB6OL8s2NNGB6sWTwbmIkRWVZzUlZ4hLqWxhCB35UYKKqTaPyQ1WmKYYN0Bu6FOJV1FV+NOPygNhyYcnpmWwZ1Mf1VbgdhwtYGsyQIghvmIl0gdyaBRivMWI1Wv8QcL1Iqkc8TJUoWaA6d4/W1EKSwP+7btmt4RylAnk992rAGeZuhLFoXHNbfG0nGDEfZPWBZ+M9GxnmrVY1qNeMQwOawCIMO+iaPP6atKj2UNbSvzaVs+/ZoZkYQsz1/zLFxtrrIAdbAIkN7muMUq6zsdhZTb+7w9MBeSAVHNCJUdDQYh5/RSgPVkicNun0JV8z"
write_pem(pubkey)
#> [1] "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwrY0gTLyq1Mfxn8eb9w8\nbH5L7geji/LNjTRgerFk8G5iJEVlWc1JWeIS6lsYQgd+VGCiqk2j8kNVpimGDdAb\nuhTiVdRVfjTj8oDYcmHJ6ZlsGdTH9VW4HYcLWBrMkCIIb5iJdIHcmgUYrzFiNVr/\nEHC9SKpHPEyVKFmgOneP1tRCksD/u27ZreEcpQJ5PfdqwBnmboSxaFxzW3xtJxgx\nH2T1gWfjPRsZ5q1WNajXjEMDmsAiDDvomjz+mrSo9lDW0r82lbPv2aGZGELM9f8y\nxcba6yAHWwCJDe5rjFKus7HYWU2/u8PTAXkgFRzQiVHQ0GIef0UoD1ZInDbp9CVf\nMwIDAQAB\n-----END PUBLIC KEY-----\n"
write_pem(key, password = "super secret")
#> [1] "-----BEGIN ENCRYPTED PRIVATE KEY-----\nMIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIJJMELlrwyiICAggA\nMAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECMQcICkrtlsjBIIEyIxv3vPajSBp\niJx9lUGnZsSftkmODZH8XY73UgDta3UXerEWqgM747d9ov7rJU6J/TPUMeLEOpSq\nApXbv3SWpUAfLaoHlxbH/Ng6RQiqjEfqHawt33E1kKFbLj1UfBB+UV9o3mCKT7uV\n5t37CRpJuMoJUHV2RV/YfKSRHVwSqN+sOWx57AP0bdQNbS+rcuETVqxhAhDtGSZ4\nntYxAIm0bVIcSHKex7K9Z0LV1kkBlaTR4MEAdpzRcbX64BKECeJsyoUscwmDQu2O\nCoS4SHSFKf3ja9lLHrtVO/lVYX7bUZnCs6/W9PfYDUzv5LEydPGF0wOUbIYRVQEu\nX3Wq1LuJLwclbpai7OPdJILZxMEOkZW68O/tAGnBacdRq+rd7s4FNfz5td3d7Lu7\nzCX+hqYrAJ77QSH9HkW04es+Vsdiwd2xXZSdSOmxTY2OjTC42WBuoPVjzPFvZm/R\new2KbLoJVhvUPmK/rNuLUUOr7Oozmf+Sa06sY/XjN9p/vp+kcyZhgMXqx0CKmgsy\nZK5FJZqG6jsnED/bS+9LdRC2gH3zD5yfcDLfuAbfjl5bU4CwbxnFgki21D+Yo5vd\nbCtVOlUBFG2ssKjUsIGYdto7rT72M3p/uhdNIb6UdIegSJZYh98IRUPgl0VBwzif\nUutz564BaPrZOYsrE96KFaI94hGkOw/LEOuLnIU+jK9G/tNY4Lwv8oXdBFN2dHdU\nsglfMbmRZck+1QZ7k8AV4iZJZw7f2vaqzOzl3Wqxa7pIC+cZlaK6LCUWz0NT/2tP\n3ehaKF9bFQtAn7UhhV9g850czYZBAA0nzT49lvMkbHM5e8PxUea53xLeh+nnccX4\nleQqAoBdFqNL7jO+wetN/L5EPpWo70XD/RPB7DBYypTwczf5o2XE7lBV25mNzc8C\nAhOPVj0SM5UJrFGIVQcO+k9gX0Uc5vN5NQdfra3K0QXji6w/9UZp7igabJ9CWDTA\nkK0sMuaQk28vEq/+t30iPV0P7Qdqh40N7R7NT6vbDcpBHNde5HUiCz8KWQJMPzQH\nGDhHVj1psVUS0rAEXobVMMDXWQNiC9N1uHFXBe2U9izp9Bxy5WWDQHvOsdqxtgjf\nffV2oCqe2UlraXdYhrAM1oy0x90hKGdvIffouxFSc3SXQbaVcmeIclxAGpHnajSA\nvdTIwzghekxcQtWhqui7g7iDt4avIomKCHLvf7GH8uolY+3wMVBzArhRMA8X4IQD\nRNK7QgdDWkvCAOrlBJfj6dYussAw1AztnJ8z1uD1DhUwJHQNebmp8BrhMCLQNlsJ\n8DX3ZoZvwBI1KSezb3UuAB800ldfW+O3ZNE+4aMQo5VP77GVU9PL1RcLEqq7fGtV\n7VSx+dnvYQbDgVX9owYWN2pixMY2vBXUQ5VNpX3yaDoDrSIGcfH1pS2D9mzS2fJK\n7f4VsyZBIyYCyNech7AHLj1zTAn16N3QdzcygLE8r8ZsZuGPxREiGZKCDmqlV6+Q\n9Gkam1dcJGLbFjlgIP0aWi+jDi7ihR+WfKwMa4k7ffVGiw/cwp5BG5Suhk5UzN+v\n40YkGAc7wy9aUkIvGf6ZeUhWKk2V9xeJLPw1/j7YOv22/tc9qhmRS4OjhTki3nZp\nc48NCJHIIFvcK8+MjR8VTg==\n-----END ENCRYPTED PRIVATE KEY-----\n"