自建CA签发SSL证书
自建 CA 并使用它签发 SSL 证书是一种在内部环境中管理证书的常见方法。以下是一个简单的步骤指南:
1. 创建自建 CA
首先,您需要生成 CA 的私钥和根证书。
生成 CA 私钥
openssl genrsa -out myCA.key 2048生成 CA 根证书
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 3650 -out myCA.pem在这一步中,您需要输入一些信息,如国家、组织名等。这些信息将嵌入到证书中。
2. 使用自建 CA 签发 SSL 证书
为您的域生成私钥
openssl genrsa -out mydomain.key 2048生成证书签名请求 (CSR)
openssl req -new -key mydomain.key -out mydomain.csr在这一步中,确保 Common Name (CN) 字段填写为您的域名。
创建一个配置文件 (extfile.cnf)
创建一个 extfile.cnf 文件,内容如下:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = mydomain.com
DNS.2 = www.mydomain.com确保 DNS.1 和 DNS.2 等字段包含您希望证书覆盖的所有域名。
签发 SSL 证书
openssl x509 -req -in mydomain.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out mydomain.crt -days 825 -sha256 -extfile extfile.cnf3. 安装 CA 根证书
将生成的 myCA.pem 安装到需要信任此 CA 的所有客户端或服务器上。这通常涉及将证书添加到操作系统或浏览器的受信任根证书存储中。
在 Windows 上安装根证书
双击证书文件:
找到您的根证书文件(通常是
.pem或.crt文件),双击打开。
启动证书导入向导:
在证书窗口中,点击“安装证书…”按钮以启动证书导入向导。
选择存储位置:
选择“本地计算机”或“当前用户”,然后点击“下一步”。
如果选择“本地计算机”,可能需要管理员权限。
选择证书存储:
选择“将所有的证书放入下列存储”。
点击“浏览”,选择“受信任的根证书颁发机构”,然后点击“确定”。
完成导入:
继续点击“下一步”,然后点击“完成”以结束导入过程。
确认导入:
系统可能会提示您确认导入,点击“是”以确认。
在 Linux 上安装根证书
在 Linux 系统中,根证书通常存储在 /etc/ssl/certs 或 /usr/local/share/ca-certificates 目录中。具体步骤如下:
复制证书到合适的目录:
将您的根证书文件复制到
/usr/local/share/ca-certificates目录中,并确保文件以.crt结尾。
sudo cp myCA.crt /usr/local/share/ca-certificates/更新证书存储:
运行以下命令以更新系统的证书存储。
sudo update-ca-certificates验证安装:
验证证书是否成功添加:
ls /etc/ssl/certs/ | grep myCA
4. 配置服务器
将生成的 mydomain.crt 和 mydomain.key 安装到您的服务器上,并配置服务器以使用这些文件进行 SSL/TLS 加密。
通过这些步骤,您就可以自建 CA 并使用它来签发 SSL 证书了。请注意,自建 CA 适用于内部环境或测试用途。在生产环境中,建议使用公共 CA 签发的证书。
最后更新于