Openssl
1. RSA密钥
生成私钥
-algorithm RSA:指定算法为 RSA-pkeyopt rsa_keygen_bits:2048:指定密钥长度为 2048 位(可改为 4096-out rsa_private.pem:输出私钥文件路径
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
生成公钥
-in rsa_private.pem:输入私钥-pubout:导出公钥-out rsa_public.pem:输出公钥文件路径
openssl rsa -pubout -in private_key.pem -out public_key.pem
2. ECC密钥
生成对应的ECC私钥
-name prime256v1:指定椭圆曲线(可换成secp256k1,secp384r1,secp521r1,X25519等)-genkey:生成密钥-noout:不显示额外信息-out ecc_private.pem:输出ECC私钥路径
openssl ecparam -name prime256v1 -genkey -noout -out ecc_private.pem
生成对应的ECC公钥
-in ecc_private.pem:输入私钥-pubout:导出公钥-out ecc_public.pem:输出公钥路径
openssl ec -in ecc_private.pem -pubout -out ecc_public.pem
3. SM2密钥(国密)
SM2是中国标准的椭圆曲线密码算法,需要 openssl 支持国密(如 OpenSSL 1.1.1 以上的版本)。
生成SM2私钥
openssl ecparam -name SM2 -genkey -noout -out sm2-key.pem
生成公钥
openssl ec -in sm2-key.pem -pubout -out sm2pubkey.pem
4. Ed25519
# 生成pkcs<span class="tag">#8格式私钥</span>
openssl genpkey -algorithm ED25519 -out ca.key