本文作者:丁辉
OpenSSL搭建CA证书颁发机构Genpkey
基础环境准备
安装 OpenSSL
Centos
1
yum install openssl -y
Ubuntu
1
apt install openssl -y
创建根证书颁发机构
生成 CA 私钥
1
openssl genpkey -algorithm RSA -out RootCA.key
-pkeyopt rsa_keygen_bits:4096 -aes256
生成 CA 自签名证书
1
openssl req -key RootCA.key -new -x509 -days 3650 -out RootCA.pem -subj "/C=CN/ST=Beijing/L=Beijing/O=Linux/OU=Linux/CN=*.com"
-subj
:后面跟着的是一个字符串,用于指定证书的主题(Subject)字段。这些字段包含了证书所有者的识别信息,通常用于证书显示和验证过程中。各个字段的意义如下:/C=CN
:国家名称,使用两位国家代码,例如CN
代表中国。/ST=YourState
:州或省份名称,根据你的地理位置填写。/L=YourCity
:城市名称,根据你的地理位置填写。/O=YourOrganization
:组织名称,表示证书所有者所属的公司或组织。/OU=YourOrganizationalUnit
:组织单位名称,是组织内部的一个部门或单位。/CN=YourCommonName
:常用名称,通常是域名或个人的名称。对于根 CA,这里可以是机构的名称或描述。/emailAddress=your.email@example.com
:电子邮件地址,用于联系证书的所有者。
创建并签署子证书(这里演示为泛域名证书)
生成子证书密钥
1
openssl genpkey -algorithm RSA -out wildcard.key
创建证书签名请求(CSR)
使用子证书的私钥创建一个 CSR。CSR 包含证书的相关信息。
1
openssl req -new -key wildcard.key -out wildcard.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=Linux/OU=Linux/CN=*.com"
使用根证书签署子证书
1
openssl x509 -req -days 3650 -in wildcard.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -out wildcard.crt -sha256
分发证书
将子证书(server.pem)和根证书(RootCA.pem)分发给需要验证身份的用户或系统。
注意事项:
- 安全性:确保私钥文件(如 RootCA.key 和 server.key)安全存储,避免泄露。
- 有效期:根证书通常具有较长的有效期(如 10 年),而子证书具有较短的有效期(如 1 年)。根据你的安全政策调整这些设置。
- 撤销列表(CRL)和在线证书状态协议(OCSP):为了提高安全性,建立机制以撤销或检查证书的有效性。
这只是创建 CA 和管理证书的基本概念。实际操作中,可能需要考虑更多的安全措施和复杂的配置选项。
1 | openssl pkcs12 -export -out RootCA.pfx -inkey RootCA.key -in RootCA.pem |
I'm so cute. Please give me money.
- 本文链接: https://blog.offends.cn/Linux/资源安装/OpenSSL搭建CA证书颁发机构Genpkey.html
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。