[openssl-users] X25519: how to generate public key?

Dr. Stephen Henson steve at openssl.org
Tue Mar 14 12:43:17 UTC 2017

On Tue, Mar 14, 2017, Olivier Meunier wrote:

> Hi,
> using openSSL 1.1.0e, I generate my private key using:
> openssl genpkey -algorithm x25519 -out x25519.key.pem
> But I cannot find how to generate the public key. I tried:
> openssl ec -in x25519.key.pem -pubout -out x25519.key.pub.pem
> but got the errors:
> read EC key
> unable to load Key
> 16084:error:0608308E:digital envelope
> routines:EVP_PKEY_get0_EC_KEY:expecting a ec
> key:crypto\evp\p_lib.c:319:
> What is the right command to get the public key?
> Thanks,

X25519 is trteated as a distinct algorithm, not as an EC curve.

You don't actually "generate" the public key you can extract or calculate the
public key corresponding to a private key though. 

The pkey command can do this for any supported algorithm:

openssl pkey -in privkey.pem -pubout -out pubkey.pem

Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org

More information about the openssl-users mailing list