keypair_openssl | R Documentation |
Wrap a pair of openssl keys. You should pass your private key and the public key of the person that you are communicating with.
keypair_openssl( pub, key, envelope = TRUE, password = NULL, authenticated = TRUE )
pub |
An openssl public key. Usually this will be the path
to the key, in which case it may either the path to a public key
or be the path to a directory containing a file
|
key |
An openssl private key. Usually this will be the path
to the key, in which case it may either the path to a private
key or be the path to a directory containing a file. You may
specify |
envelope |
A logical indicating if "envelope" encryption
functions should be used. If so, then we use
|
password |
A password for the private key. If |
authenticated |
Logical, indicating if the result should be
signed with your public key. If |
keypair_sodium()
for a similar function using
sodium keypairs
# Note this uses password = FALSE for use in examples only, but # this should not be done for any data you actually care about. # Note that the vignette contains much more information than this # short example and should be referred to before using these # functions. # Generate two keypairs, one for Alice, and one for Bob path_alice <- tempfile() path_bob <- tempfile() cyphr::ssh_keygen(path_alice, password = FALSE) cyphr::ssh_keygen(path_bob, password = FALSE) # Alice wants to send Bob a message so she creates a key pair with # her private key and bob's public key (she does not have bob's # private key). pair_alice <- cyphr::keypair_openssl(pub = path_bob, key = path_alice) # She can then encrypt a secret message: secret <- cyphr::encrypt_string("hi bob", pair_alice) secret # Bob wants to read the message so he creates a key pair using # Alice's public key and his private key: pair_bob <- cyphr::keypair_openssl(pub = path_alice, key = path_bob) cyphr::decrypt_string(secret, pair_bob) # Clean up unlink(path_alice, recursive = TRUE) unlink(path_bob, recursive = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.