Expand the 25519/448 overview man pages
authorMatt Caswell <matt@openssl.org>
Mon, 5 Mar 2018 19:16:35 +0000 (19:16 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 15 Mar 2018 12:47:27 +0000 (12:47 +0000)
Include more information about how to create keys for these algorithms.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5520)

doc/man7/Ed25519.pod
doc/man7/X25519.pod

index da6cbc0..f2f6fb2 100644 (file)
@@ -39,6 +39,16 @@ For the B<Ed448> algorithm a context can be obtained by calling:
 
  EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_ED448, NULL);
 
+Ed25519 or Ed448 private keys can be set directly using
+L<EVP_PKEY_new_private_key(3)> or loaded from a PKCS#8 private key file using
+L<PEM_read_bio_PrivateKey(3)> (or similar function). Completely new keys can
+also be generated (see the example below). Setting a private key also sets the
+associated public key.
+
+Ed25519 or Ed448 public keys can be set directly using
+L<EVP_PKEY_new_public_key(3)> or loaded from a SubjectPublicKeyInfo structure
+in a PEM file using L<PEM_read_bio_PUBKEY(3)> (or similar function).
+
 =head1 EXAMPLE
 
 This example generates an B<ED25519> private key and writes it to standard
index 69ab0b4..f1a9c49 100644 (file)
@@ -27,6 +27,16 @@ For the B<X448> algorithm a context can be obtained by calling:
 
  EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_X448, NULL);
 
+X25519 or X448 private keys can be set directly using
+L<EVP_PKEY_new_private_key(3)> or loaded from a PKCS#8 private key file using
+L<PEM_read_bio_PrivateKey(3)> (or similar function). Completely new keys can
+also be generated (see the example below). Setting a private key also sets the
+associated public key.
+
+X25519 or X448 public keys can be set directly using
+L<EVP_PKEY_new_public_key(3)> or loaded from a SubjectPublicKeyInfo structure
+in a PEM file using L<PEM_read_bio_PUBKEY(3)> (or similar function).
+
 =head1 EXAMPLE
 
 This example generates an B<X25519> private key and writes it to standard