diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2017-03-27 21:44:59 +0100 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2017-03-28 15:43:41 +0100 |
commit | d218f3c331af033cf6bf6ae145257c4ab9d83d56 (patch) | |
tree | 18f296b1b7d8f3e23cb5109ec390c474053f3d6c | |
parent | 0af8fd6085e2e0ea8d6abb05615eb08c05665ee7 (diff) | |
download | openssl-d218f3c331af033cf6bf6ae145257c4ab9d83d56.tar.gz |
Add X25519 doc
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3059)
-rw-r--r-- | doc/man7/X25519.pod | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/doc/man7/X25519.pod b/doc/man7/X25519.pod new file mode 100644 index 0000000000..614d37adad --- /dev/null +++ b/doc/man7/X25519.pod @@ -0,0 +1,58 @@ +=pod + +=head1 NAME + +X25519 - EVP_PKEY X25519 support + +=head1 DESCRIPTION + +The B<X25519> EVP_PKEY implementation supports key generation and key +derivation using B<X25519>. It has associated private and public key formats +compatible with draft-ietf-curdle-pkix-03. + +No additional parameters can be set during key generation. + +The peer public key must be set using EVP_PKEY_derive_set_peer() when +performing key derivation. + +=head1 NOTES + +A context for the B<X25519> algorithm can be obtained by calling: + + EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(NID_X25519, NULL); + +=head1 EXAMPLE + +This example generates an B<X25519> private key and writes it to standard +output in PEM format: + + #include <openssl/evp.h> + #include <openssl/pem.h> + ... + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(NID_X25519, NULL); + EVP_PKEY_keygen_init(pctx); + EVP_PKEY_keygen(pctx, &pkey); + EVP_PKEY_CTX_free(pctx); + PEM_write_PrivateKey(stdout, pkey, NULL, NULL, 0, NULL, NULL); + +The key derviation example in L<EVP_PKEY_derive(3)> can be used with +B<X25519>. + +=head1 SEE ALSO + +L<EVP_PKEY_CTX_new(3)>, +L<EVP_PKEY_keygen(3)>, +L<EVP_PKEY_derive(3)>, +L<EVP_PKEY_derive_set_peer(3)> + +=head1 COPYRIGHT + +Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +L<https://www.openssl.org/source/license.html>. + +=cut |