Skip to the content.

公私钥对

从私钥生成一个公钥

ssh-keygen -y -f id_rsa > id_rsa.pub

生成公私钥对

ssh-keygen -t rsa -b 4096 -C "you_email@example.com"

-C 备注 -f 文件名 -t 指定生成类型 rsa / rsa1 -b 位数

OpenSSL 格式 转 pem 格式

ssh-keygen -p -N "" -m pem -f /path/to/key

公钥类型

PKCS#8 to PKCS#1

openssl rsa -pubin -in <filename> -RSAPublicKey_out

PKCS#1 to PKCS#8

openssl rsa -RSAPublicKey_in -in <filename> -pubout

转换 OPENSSL 新格式私钥为 PKCS1 格式

ssh-keygen -p -N "" -m pem -f /path/to/key

ssh-keygen 的 rsa 公钥生成 PKCS1 公钥

ssh-keygen -f key.pub -e -m pem

获取 pem

  1. 私钥提取 private.pem

openssl rsa -in xxx.key -out private.pem

  1. private.pem 转 public.pem

openssl rsa -in private.pem -RSAPublicKey_out -out public.pem

BEGIN RSA PUBLIC KEY” is PKCS#1 BEGIN PUBLIC KEY” is PKCS#8

To convert from PKCS#8 to PKCS#1:

openssl rsa -pubin -in <filename> -RSAPublicKey_out

To convert from PKCS#1 to PKCS#8:

openssl rsa -RSAPublicKey_in -in <filename> -pubout

Private to convert from PKCS#1 to PKCS#8

openssl pkcs8 -topk8 -nocrypt -inform PEM -in rsa_private_key.pem -out rsa_private_key_pkcs8.pem