OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

5.5. 证书颁发机构‌


如果您网络上的服务需要多个自签名证书,则可能值得额外努力设置您自己的内部 认证中心(CA). 使用由您自己的 CA 签署的证书,允许使用证书的各种服务轻松信任使用同一 CA 颁发的证书的其他服务。


1. 首先,创建保存 CA 证书和相关文件的目录:


须藤 mkdir /etc/ssl/CA

须藤 mkdir /etc/ssl/newcerts

2. CA 需要一些额外的文件来操作,一个用来跟踪 CA 使用的最后一个序列号,每个证书必须有一个唯一的序列号,另一个文件用来记录哪些证书已经颁发:


sudo sh -c "echo '01' > /etc/ssl/CA/serial" sudo touch /etc/ssl/CA/index.txt

3. 第三个文件是CA配置文件。 虽然不是绝对必要,但在颁发多个证书时非常方便。 编辑 /etc/ssl/openssl.cnf,而在 [CA_default] 更改:


dir = /etc/ssl # 保存所有内容 database = $dir/CA/index.txt # 数据库索引文件。 certificate = $dir/certs/cacert.pem # CA 证书

serial = $dir/CA/serial # 当前序列号 private_key = $dir/private/cakey.pem# 私钥

4. 接下来,创建自签名根证书:


openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650


然后,系统会要求您输入有关证书的详细信息。

5. 现在安装根证书和密钥:


sudo mv cakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/

6. 您现在可以开始签署证书了。 需要的第一项是证书签名请求 (CSR),请参阅第 5.2 节“生成证书签名请求 (CSR)” [p. 199] 了解详情。 获得 CSR 后,输入以下内容以生成由 CA 签名的证书:


须藤 openssl ca -in server.csr -config /etc/ssl/openssl.cnf


输入 CA 密钥的密码后,系统将提示您签署证书,并再次提交新证书。 然后,您应该会看到与证书创建相关的大量输出。

7. 现在应该有一个新文件, /etc/ssl/newcerts/01.pem,包含相同的输出。 复制并粘贴以以下行开头的所有内容: -----开始认证----- 并继续通过这条线: ----结束证书----- 行到以将安装证书的服务器的主机名命名的文件。 例如 mail.example.com.crt, 是一个很好的描述性名称。


后续证书将被命名 02.PEM, 03.PEM等等。


图片

更换 mail.example.com.crt 使用您自己的描述性名称。


8. 最后,将新证书复制到需要它的主机上,并配置相应的应用程序以使用它。 安装证书的默认位置是 /etc/ssl/证书. 这使得多个服务可以使用同一个证书,而无需过于复杂的文件权限。


对于可以配置为使用 CA 证书的应用程序,您还应该复制 /etc/ssl/certs/cacert.pem 文件到 /etc/ssl/证书/ 每个服务器上的目录。


OnWorks 的顶级操作系统云计算: