linux系统openssl证书生成,ca, server和client

為{幸葍}努か 提交于 2019-11-29 19:58:12

引用文章 https://blog.csdn.net/liuchunming033/article/details/48470575, 原文有详细介绍,本文只列出操作步骤和相应补充
1、生成自签名CA根证书

$openssl genrsa -out ca.key 2048 
$openssl req -new -key ca.key -out ca.csr
$openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

2、生成server证书,使用ca.crt进行签名,server.csr中的organization名称需要与ca.crt中的一致。

$openssl genrsa -des3 -out server.key 1024    
$openssl req -new -key server.key -out server.csr     #输入生成server.key时输入的密码
$openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key

3、生成client证书,使用ca.crt进行签名,client.csr中的Organization名称需要与ca.crt中的一致,同时Organizational Unit Name(eg. mp.csdn.net)不能与server的一样。

$openssl genrsa -des3 -out client.key 1024 
$openssl req -new -key client.key -out client.csr     #输入生成server.key时输入的密码
$openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key

4、关于私钥文件
之前得到的server.key和client.key都是经过加密的密钥对,包含了私钥和公钥,要得到私钥文件需要运行以下命令

openssl rsa -in  server.key -out server_pri.key     #输入生成server.key时输入的密码
openssl rsa -in  client.key -out client_pri.key     #输入生成client.key时输入的密码

5、补充步骤
如果报错 ‘无法找到文件夹demoCA’, 就在当前文件下执行如下命令创建文件夹和文件

$mkdir -p demoCA/newcerts
$cd demoCA
$touch index.txt
$echo 01  > serial
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!