That would be awesome. And these newer keys work with the latest version of the Merlin firmware without any issues?
Thanks,
Harry
I've been using EC keys on 384.17 and 384.18 alpha/beta with no issue. The key is making sure the SSL Library that openvpn uses supports EC. In our case, it it supported on the router as openvpn is using OpenSSL 1.1.1g. I'm using the openvpn client for windows 10 and ios which both support EC as well.
You can use easy-rsa directly on your router if you want. I chose to download it and OpenSSL and install to a flash drive for portability/security (ie CA private key is stored offline)
Heres a good read if you want to use it via ssh though:
https://github.com/RMerl/asuswrt-merlin.ng/wiki/Generating-OpenVPN-keys-using-Easy-RSA
EasyRSA Downloads
https://github.com/OpenVPN/easy-rsa/releases
OpenSSL Downloads. Either light or full should work
https://slproweb.com/products/Win32OpenSSL.html
In the directory you extracted EasyRSA, make a copy of the VARS.Example file and just name it VARS with no extention. Make the following edits (and make sure to uncomment these lines if they are commented):
set_var EASYRSA_OPENSSL "C:/path to where you extracted/openssl.exe/use forward slashes"
set_var EASYRSA_ALGO ec #Sets elliptic curve instead of using the default of rsa
set_var EASYRSA_CURVE secp521r1 #you can run ecparam -list_curves in openssl to show available curves. You'll want to make sure whatever you use is also available in openssl11 on your router
set_var EASYRSA_DIGEST "sha512" #use whichever one is best for you from the examples listed in the vars file.
Via administrator command line:
CD into your easy-rsa directory and execute EasyRSA-Start.bat
in the easy-rsa shell run:
./easyrsa init-pki
./easyrsa build-ca
./easyrsa build-server-full ServerName nopass
./easyrsa build-client-full ClientName1 nopass
./easyrsa build-client-full ClientName2 nopass #if using multiple clients
When you run build-ca, you can specify the name of your ca if you want or leave it as default. The password you enter protects your CA private key. When you issue certs from your CA, you will enter this password as an authorization to issue server and client certs.
Your CA cert will be in EasyRSA\PKI
Public Keys will be in EasyRSA\PKI\Issued
Private Keys will be in EasyRSA\PKI\Private
if you open your public keys and see Signature algorithm sha***ECDSA and public key ECC (*** Bits), you've successfully generated EC keys. Just open the appropriate ones in notepad and copy the --Begin-- to --End-- sections into the openvpn server config page on your router and in your client ovpn files.