内容提要
本文介绍了使用OpenSSL生成CA证书、服务器证书和客户端证书的步骤,包括创建私钥、证书请求和自签名证书的命令。同时提供了单向和双向认证的验证方法,并解释了证书参数及相关名词的含义。
关键要点
- 生成CA证书的步骤包括创建私钥、请求证书和自签名证书。
- 创建CA证书私钥的命令为openssl genrsa -aes256 -out ca.key 2048。
- 请求CA证书的命令为openssl req -new -sha256 -key ca.key -out ca.csr。
- 自签署CA证书的命令为openssl x509 -req -days 36500 -sha256 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.cer。
- 生成服务器证书的步骤包括创建私钥、请求证书和使用CA证书签署服务器证书。
- 创建服务器私钥的命令为openssl genrsa -aes256 -out server.key 2048。
- 请求服务器证书的命令为openssl req -new -sha256 -key server.key -out server.csr。
- 使用CA证书签署服务器证书的命令为openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer。
- 生成客户端证书的步骤包括创建私钥、申请证书和使用CA证书签署客户端证书。
- 创建客户端私钥的命令为openssl genrsa -aes256 -out client.key 2048。
- 申请客户端证书的命令为openssl req -new -sha256 -key client.key -out client.csr。
- 使用CA证书签署客户端证书的命令为openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in client.csr -out client.cer。
- 单向认证的验证命令包括服务器和客户端的openssl命令。
- 双向认证的验证命令包括服务器和客户端的openssl命令,需验证客户端证书。
- 证书参数含义包括国家、省份、城市、公司、部门、产品名和邮箱。
- Linux系统使用CRT格式,Windows系统使用CER格式。
- X.509是一种通用的证书格式,包含证书持有人的公钥和加密算法等信息。
- pkcs1到pkcs12是公钥加密的标准,存储格式包括.pn和.p12。
- 证书的存储格式包括.der、.pem、.key、.cer、.crt、.csr、.pfx和.jks。
延伸问答
如何生成CA证书?
生成CA证书的步骤包括创建私钥、请求证书和自签名证书,具体命令为:创建私钥:openssl genrsa -aes256 -out ca.key 2048;请求证书:openssl req -new -sha256 -key ca.key -out ca.csr;自签名证书:openssl x509 -req -days 36500 -sha256 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.cer。
如何生成服务器证书?
生成服务器证书的步骤包括创建私钥、请求证书和使用CA证书签署,命令为:创建私钥:openssl genrsa -aes256 -out server.key 2048;请求证书:openssl req -new -sha256 -key server.key -out server.csr;签署证书:openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer。
如何生成客户端证书?
生成客户端证书的步骤包括创建私钥、申请证书和使用CA证书签署,命令为:创建私钥:openssl genrsa -aes256 -out client.key 2048;申请证书:openssl req -new -sha256 -key client.key -out client.csr;签署证书:openssl x509 -req -days 36500 -sha256 -extensions v3_req -CA ca.cer -CAkey ca.key -CAserial ca.srl -CAcreateserial -in client.csr -out client.cer。
单向认证的验证命令是什么?
单向认证的验证命令为:服务器:openssl s_server -CAfile ca.cer -cert server.cer -key server.key -accept 22580;客户端:openssl s_client -CAfile ca.cer -cert client.cer -key client.key -connect 127.0.0.1 -port 22580。
双向认证的验证命令是什么?
双向认证的验证命令为:服务器:openssl s_server -CAfile ca.cer -cert server.cer -key server.key -accept 22580 -Verify 1;客户端:openssl s_client -CAfile ca.cer -cert server.cer -key server.key -cert client.cer -key client.key -connect 127.0.0.1 -port 22580。
证书参数的含义是什么?
证书参数的含义包括:C(国家)、ST(省份)、L(城市)、O(公司)、OU(部门)、CN(产品名)、emailAddress(邮箱)。