在Linux上使用OpenSSL生成密钥对(如RSA、ECC)的步骤如下:
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
-pkeyopt rsa_keygen_bits:2048
:指定密钥长度为2048位(推荐安全值)private_key.pem
(PEM格式)openssl rsa -pubout -in private_key.pem -out public_key.pem
openssl genpkey -algorithm EC -out ec_private_key.pem \
-pkeyopt ec_paramgen_curve:secp256k1
secp256k1
(比特币)、prime256v1
(NIST P-256)、secp384r1
等openssl ec -pubout -in ec_private_key.pem -out ec_public_key.pem
openssl pkcs8 -topk8 -inform PEM -in private_key.pem -out private_key_pkcs8.pem -nocrypt
openssl rsa -in private_key.pem -outform DER -out private_key.der
# 查看私钥信息
openssl pkey -in private_key.pem -text -noout
# 验证公钥是否匹配
openssl pkey -pubin -in public_key.pem -text -noout
参数 | 作用 |
---|---|
-aes256 |
用AES-256加密私钥(需设置密码) |
-nocrypt |
生成无加密的私钥 |
-outform DER |
输出二进制格式 |
-pkeyopt |
指定算法参数(如密钥长度、曲线类型) |
-aes256
加密私钥chmod 400 private_key.pem
)如需生成用于SSL/TLS的证书请求(CSR),可继续使用:
openssl req -new -key private_key.pem -out csr.pem