命令行会提示你输入一个密码。请输入一个复杂点的密码而且不要弄丢了,因为这将会是根 CA 私钥的密码,正如其名称所示,它是你的证书中所有信任关系的根。
接下来,生成根 CA 证书:
$ openssl req -x509 -new-nodes -key myCA.key -sha256 -days 1825-out myCA.pem
在回答完一些问题后,你就拥有一个有效期为 5 年的根 CA 证书了。
用之前生成的 CSR 文件,你可以请求生成一个新证书,并由您刚才创建的根 CA 签名。
$ openssl x509 -req -in mail.mydomain.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial-out mail.mydomain.pem -days 1825-sha256
输入你的根 CA 私钥的密码来创建和签署证书。
现在你有了配置电子邮件服务以增强安全性所需的两个文件:私匙文件 mail.mydomain.key 和公开证书文件 mail.mydomain.pem。
如果你愿意购买证书
如果你愿意从机构购买证书,则需要上传 CSR 文件到证书颁发机构的系统中,它将会被用于生成 SSL/TLS 证书。证书可作为文件下载,比如 mail.mydomain.pem。很多 SSL 机构也需要你下载一个中间证书。如果是这样的话,你必须把这个两个证书合并成一个,这样电子邮件服务就可以将这两个证书结合起来处理。可以使用以下命令把你的证书和第三方中间证书合并在一起:
$ cat mail.mydomain.pem gd_bundle-g2-g1.crt > mail.mydomain.pem
值得一提的是 .pem 文件后缀代表隐私增强邮件Privacy-Enhanced Mail。
现在你就有全部的设置邮件服务安全所需文件了:私匙文件 mail.mydomain.key 和组合的公开证书文件 mail.mydomain.pem。
为你的文件生成一个安全的文件夹
不管你是的证书是自签发的或者从机构购买,你都需要生成一个安全的,管理员拥有的文件夹用于保存这两个文件。可以使用以下命令来生成:
$ mkdir/etc/pki/tls
$ chown root:root /etc/pki/tls
$ chmod700/etc/pki/tls
在复制文件到 /etc/pki/tls 后,再次设置这些文件的权限:
$ chmod600/etc/pki/tls/*
配置你的 SMTP 和 IMAP 服务
接下来,让 SMTP 和 IMAP 服务使用新的安全证书。我们用 postfix 和 dovecot 来作为例子。