Generate JWT signing keys with OpenSSL
maingorest supports various JWT signing algorithms. Use the following OpenSSL commands to generate the necessary keys.
HMAC (HS) Keys
- HS256:
openssl rand -base64 32 - HS384:
openssl rand -base64 48 - HS512:
openssl rand -base64 64
ECDSA (ES) Key Pairs
ES256 (P-256)
openssl ecparam -name prime256v1 -genkey -noout -out private-key.pem
openssl ec -in private-key.pem -pubout -out public-key.pemES384 (secp384r1)
openssl ecparam -name secp384r1 -genkey -noout -out private-key.pem
openssl ec -in private-key.pem -pubout -out public-key.pemES512 (secp521r1)
openssl ecparam -name secp521r1 -genkey -noout -out private-key.pem
openssl ec -in private-key.pem -pubout -out public-key.pemEdDSA (Ed25519)
openssl genpkey -algorithm Ed25519 -out private-key.pem
openssl pkey -in private-key.pem -pubout -out public-key.pemRSA (RS) Key Pairs
RS256
openssl genpkey -algorithm RSA -out private-key.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -in private-key.pem -pubout -out public-key.pemRS384
openssl genpkey -algorithm RSA -out private-key.pem -pkeyopt rsa_keygen_bits:3072
openssl rsa -in private-key.pem -pubout -out public-key.pemRS512
openssl genpkey -algorithm RSA -out private-key.pem -pkeyopt rsa_keygen_bits:4096
openssl rsa -in private-key.pem -pubout -out public-key.pem