文档 · 2021年8月19日 0

Linux利用openssl生成各种证书及转换

1.生成SSH登录秘钥对
1.1:私钥为 openssh 标识
ssh-keygen -t rsa -f ssh_rsa
1.2:私钥为 openssl 标识
ssh-keygen -b 2048 -m PEM -t rsa -f ssh_rsa

会生成一个私钥ssh_rsa和一个公钥ssh_rsa.pub

2.将ssh_rsa.pub转成pkcs8

ssh-keygen -f ssh_rsa.pub -e -m pkcs8 >ssh_rsa_pkcs8.pub



3.生成服务器私钥 pem 

openssl genrsa -out private_key.pem 2048

4.生成服务器公钥 pem 

openssl rsa -in private_key.pem -outform PEM -pubout -out public_key.pem

4.1 将服务器公钥转换成ssh公钥,可以导入到.ssh/authorized_keys 作为登录服务器使用,登录私钥则为服务器私钥。

ssh-keygen -i -m pkcs8 -f public_key.pem > sshPublic_key.pub

5.将私钥 pem 转换成 pkcs8 

openssl pkcs8 -topk8 -inform PEM -in private_key.pem -outform pem -nocrypt -out private_key_pkcs8.pem

6.根据pkcs8私钥生成 pkcs8公钥

 openssl rsa -in private_key_pkcs8.pem -pubout -out public_key_pkcs8.pem

7.根据服务器私钥生成 ssh登录使用的公钥 

ssh-keygen -y -f private.pem >sshPublic.pub

7.1 将ssh公钥转成服务器公钥

ssh-keygen -e -m PEM -f sshPublic.pub >sslPublic_Key.pub

# PKCS转换为PEM
> openssl pkcs12 -in my.pfx -out my.pem -nodes

# PEM转换为DER
> openssl x509 -outform der -in my.pem -out my.[der|crt]

# PEM提取KEY
> openssl RSA -in my.pem -out my.key

# DER转换为PEM
> openssl x509 -inform der -in my.[cer|crt] -out my.pem

# PEM转换为PKCS
> openssl pkcs12 -export -inkey my.key -in my.pem -out my.pfx -certfile ca.crt> openssl pkcs12 -export -inkey www.my.com.key -in www.my.com.pem -passin pass:666666 -passout pass:666666 -out www.my.com.p12

打赏
 
Linux利用openssl生成各种证书及转换