按照本教程操作: https://www.vultr.com/docs/simple-mailserver-postfix-dovecot-sieve-debian
尝试为我的邮件服务器创建自签名 SSL 证书以进行测试,使用代码:
openssl req -newkey rsa:4096 -sha512 -x509 -days 365 -nodes -keyout /etc/dovecot/private/mykey.key -out /etc/dovecot/mycert.pem
现在,修改 Postfix 和 Dovecot 配置文件。我不明白的是这段代码是如何做到的:
smtpd_tls_cert_file = /etc/dovecot/private/mykey.pem
smtpd_tls_key_file = /etc/dovecot/private/mycert.pem
smtpd_use_tls = yes
还有这段代码:
ssl = yes
ssl_key = /etc/dovecot/private/mykey.pem
ssl_cert = /etc/dovecot/private/mycert.pem
应该如何工作?首先,只创建一个文件 - /etc/dovecot/private/mykey.key
。
也许有人可以解释一下运行命令后应该得到什么文件openssl
——KEY 文件的 PEM?
编辑:我理解这个命令的结果是:
openssl req -newkey rsa:4096 -sha512 -x509 -days 365 -nodes -keyout /etc/dovecot/private/mykey.key -out /etc/dovecot/mycert.pem
应该生成 2 个文件 - mykey.pem
(未签名密钥) 和mycert.pem
(自签名证书),但是没有生成。我以不同的方式完成了此操作:
openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out csr.pem
openssl req -x509 -days 365 -key key.pem -in csr.pem -out certificate.pem
但好奇的是,为什么这个快捷代码不起作用?语法错误在哪里?
答案1
@drookie 和 @andytech 的评论帮助我解决了这个问题。没有错误,只是缺乏理解和关注。
经过进一步寻找答案后,我发现了一篇关于 SSL 密钥生成的好文章:https://msol.io/blog/tech/create-a-self-signed-ssl-certificate-with-openssl/
关于.pem
缺席,我错过了证书生成到/etc/dovecot/cert.pem
和不是进入/etc/dovecto/private/cert.pem
。