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 EVP_PKEY implementation supports key generation and key +derivation using B. 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 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 private key and writes it to standard +output in PEM format: + + #include + #include + ... + 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 can be used with +B. + +=head1 SEE ALSO + +L, +L, +L, +L + +=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. + +=cut