要自签一个 根证书(Root CA Certificate),其实就是:
- 先生成一对私钥和公钥。
- 再用这对密钥生成一个自签名证书。
这样你就有了一个“根证书”,后面可以用它来签发中间证书或服务器证书。
🔹 步骤(用 OpenSSL 举例)
1. 生成根证书私钥
openssl genrsa -out my_ca.key 4096
my_ca.key
就是根证书的私钥,要非常妥善保存。- 一般用 4096 位 RSA 或者 ECC(椭圆曲线)。
2. 生成自签根证书
openssl req -x509 -new -nodes -key my_ca.key -sha256 -days 3650 -out my_ca.crt
参数说明:
-x509
→ 生成自签名证书。-new
→ 新证书请求。-nodes
→ 不加密私钥。-key my_ca.key
→ 用上一步生成的私钥签名。-sha256
→ 签名算法。-days 3650
→ 有效期 10 年。-out my_ca.crt
→ 输出的根证书。
在执行时,OpenSSL 会提示输入一些信息:
- Country Name ©: CN
- State or Province (ST): Beijing
- Locality (L): Beijing
- Organization (O): MyCompany
- Organizational Unit (OU): IT
- Common Name (CN): My Root CA
👉 注意:根证书的 CN (Common Name) 通常写成 My Root CA
,而不是域名。
3. 验证证书信息
openssl x509 -in my_ca.crt -text -noout
- Issuer 和 Subject 相同(说明是自签名)。
- 公钥信息、公信算法、有效期等。
🔹 完成效果
my_ca.key
→ 根 CA 私钥(一定要保密,绝不能泄露)。my_ca.crt
→ 根 CA 公共证书,可以分发到客户端或浏览器的信任区。
以后你就可以用 my_ca.key + my_ca.crt
给服务器证书或中间 CA 证书签名。
提示
上面都是最简单的配置,有特殊要求的,还需要修改openssl.conf的参数进行配置