我正在尝试使用 TLS 设置 postfix。
我通过执行以下操作来刷新它,删除默认设置,以便 tls enable-server 更新 main.cf 文件并生成证书:
sudo postconf -X `postconf -nH | egrep '^smtpd(_|_enforce_|_use_)tls'`
sudo postfix tls enable-server
sudo postfix reload
我遵循的许多说明似乎都表明这就是启用 TLS 所需的全部内容。
当我运行以下命令时...
openssl s_client -connect mailhost:25 -starttls smtp
我收到错误:
Verification error: self signed certificate
这会导致我的应用程序出现错误:
stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
如果我理解的话,enable-server 命令将为我生成一个自签名证书,其他来源告诉我这是必需的。
我对自签名和后缀有什么误解吗?为什么我收到验证错误?
答案1
自签名证书意味着它不是由 Let's Encrypt 等公共信任的证书颁发机构颁发的。这意味着该证书不会被只信任公共颁发证书的应用程序(即大多数应用程序)信任。这就是您收到此验证错误的原因。