openssl生成CA证书,服务端证书,客户端证书

该文详细介绍了在Windows上利用OpenSSL工具创建CA根证书、服务端证书和客户端证书的步骤,包括创建工作目录、配置文件、生成私钥、CSR文件,以及进行证书签名和格式转换。

(38条消息) OPenSSL-生成证书_openssl country name (2 letter code)_m晴朗的博客-优快云博客参考这篇博客,将其中的一些换成了windows的命令行,记录一下方便自己以后查看

1.1创建工作目录

cd F:\openssl\OpenSSL-Win64\bin
mkdir ssl
cd ssl
mkdir demoCA
cd demoCA
type nul > index.txt
type nul > serial
echo 01 > F:\openssl\OpenSSL-Win64\bin\ssl\demoCA\serial
mkdir newcerts

1.2将OpenSSL-Win64\bin\cnf中的openssl.cnf复制到上述新建的ssl目录中

2.创建CA根证书

回到ssl目录,将新建的证书保存在其中

创建根证书私钥
openssl genrsa -out ca.key 2048
创建根证书请求文件
openssl req -new -key ca.key -out ca.csr
自签根证书
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt -days 3650

配置可参考原博客

3.创建服务端证书

生成服务端key
openssl genrsa -des3 -out server.key 2048
生成服务端请求文件
openssl req -new -key
使用 OpenSSL 生成服务端 HTTPS 证书,可参考以下步骤: ### 一条命令生成(适用于 Linux) 可使用如下命令生成所需的证书和私钥: ```bash openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365 -nodes -subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com" ``` 此命令将生成一个有效期为 365 天的自签名证书。`-keyout` 指定私钥文件名,`-out` 指定证书文件名。需根据实际情况修改 `-subj` 中的信息,如国家(C)、州(ST)、城市(L)、组织(O)、组织单位(OU)和通用名称(CN)等 [^1]。 ### 按常规申请流程生成 #### 生成客户端的密钥 生成客户端的公私钥对,保证私钥只有客户端自己拥有。以下命令可生成一个 4096 位的 RSA 私钥: ```bash openssl genrsa -out server.key 4096 ``` 这里的 `server.key` 是生成的私钥文件名 [^2]。 #### 生成证书请求文件 以客户端的密钥和客户端自身的信息(国家、机构、域名、邮箱等)为输入,生成证书请求文件。客户端的公钥和客户端信息会明文保存在证书请求文件中,私钥用于对客户端公钥及客户端信息做签名,但自身不包含在证书请求中。 ```bash openssl req -new -key server.key -out server.csr -subj "/C=US/ST=California/L=Monrovia/O=Quantil Networks Inc./OU=Gov/CN=www.china-embassy.org" ``` 此命令生成的 `server.csr` 就是证书请求文件,需根据实际情况修改 `-subj` 中的信息 [^2]。 #### 获取 CA 签名的证书证书请求文件发送给 CA 机构。CA 机构接收到客户端证书请求文件后,会校验其签名,审核客户端的信息,最后使用自己的私钥为证书请求文件签名,生成证书文件并下发给客户端。若为自签名证书,可使用以下命令: ```bash openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365 -sha256 ``` 这里的 `ca.crt` 和 `ca.key` 分别是 CA证书和私钥,`server.crt` 是生成服务端证书,有效期为 365 天 [^2]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值