Welcome to Code Block's blog本篇文章主要介绍了
[openssl生成证书]
❤博主广交技术好友,喜欢我的文章的可以关注一下❤
一、概述
本文章是记录openssl命令生成私钥、证书签名请求、CA证书的命令和相关参数的解释。其中包含了各参数的名称、作用、技术细节和安全建议。
- CA私钥: 相当于加密时的密码,或者部门盖章。
- 证书签名请求: 相当于申请表,在获取CA证书后就失效。
- CA证书: 相当于颁发的证件。
二、关键步骤
2.1 生成CA私钥
openssl genrsa -out ca-key.pem 4096
参数 | 作用 | 技术细节 | 安全建议 |
---|---|---|---|
genrsa | 生成RSA私钥 | 使用RSA算法(非对称加密) | 优先选择RSA 4096或ECC 256+ |
-out ca-key.pem | 指定私钥输出文件 | PEM格式(Base64编码) | 生成后立即设置权限:chmod 600 ca-key.pem |
4096 | 密钥长度 | 2048位是底线,4096位更安全 | 更长密钥更安全但性能更低 |
2.2 生成CSR(证书签名请求)
openssl req -new -key ca-key.pem -out ca-csr.pem
参数 | 作用 | 技术细节 | 交互说明 |
---|---|---|---|
req | 处理证书请求 | 遵循PKCS#10标准 | - |
-new | 创建新CSR | 生成新的公钥对(从私钥派生) | 需要输入身份信息 |
-key ca-key.pem | 指定签名私钥 | 用该私钥对CSR进行签名 | 确保私钥文件路径正确 |
-out ca-csr.pem | 输出CSR文件 | 包含公钥+身份信息(不含私钥) | 可临时保存,用后删除 |
交互流程示例(执行命令后会提示输入):
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:My CA Inc.
Organizational Unit Name (eg, section) []:Security
Common Name (eg, your name or your server's hostname) []:My Root CA
Email Address []:admin@myca.com
2.3 自签名生成CA证书
openssl x509 -req -days 3650 -in ca-csr.pem -signkey ca-key.pem -out ca-cert.pem
参数 | 作用 | 技术细节 | 关键注意事项 |
---|---|---|---|
x509 | X.509证书操作 | 遵循RFC 5280标准 | - |
-req | 输入是CSR文件 | 而非直接生成证书 | 必须与CSR匹配 |
-days 3650 | 证书有效期 | 10年(3650天) | CA证书通常设较长有效期 |
-in ca-csr.pem | 指定输入的CSR | 提取公钥和身份信息 | 确保与私钥对应 |
-signkey ca-key.pem | 用私钥自签名 | 使证书具备权威性 | 绝对不要泄露此私钥 |
-out ca-cert.pem | 输出证书文件 | PEM格式(Base64编码) | 可自由分发 |
三、小结
在通信过程中,私自颁发的Openssl证书同样可用于通信,如自搭建的rpc通信服务,同样可以保证通信的安全,如果要使用已认证的如HTTPS请求,需向专业机构进行请求。
如果你对区块链感兴趣,可以浏览我的专栏:区块链
感谢您的关注和收藏!!!!!!