Debian
除非 ssl_verify_client_cert 設置為 yes,否則 Dovecot 不會發送 CA 文件
我有一個配置了使用者密碼登錄的 Postfix / Dovecot / MySQL 電子郵件伺服器。除了 Dovecot 沒有將鏈 CA 文件發送到客戶端之外,一切正常。我有
ssl_cert = </etc/apache2/ssl/apache.crt ssl_key = </etc/apache2/ssl/apache.key ssl_ca = </etc/apache2/ssl/apache.pem
在我的 /etc/dovecot/conf.d/10-ssl.conf 中。但是,不會發送 CA 文件。
openssl s_client -connect server.com:143 -starttls imap CONNECTED(00000003) depth=0 CN = server.com verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 CN = server.com verify error:num=21:unable to verify the first certificate verify return:1 ...
如果我添加
ssl_verify_client_cert = yes
,一切正常。openssl s_client -connect server.com:143 -starttls imap CONNECTED(00000003) depth=2 C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", CN = Starfield Root Certificate Authority - G2 verify return:1 depth=1 C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", OU = http://certs.starfieldtech.com/repository/, CN = Starfield Secure Certificate Authority - G2 verify return:1 depth=0 CN = server.com verify return:1
我沒有使用客戶端證書授權。我是否誤解了 Dovecot 配置或者這是預期的行為?我應該這樣離開嗎?
解決了我自己的問題。您需要將證書與鏈文件合併。
cat apache.crt apache.pem > dovecot.crt
然後你就擁有
ssl_cert = </etc/apache2/ssl/dovecot.crt ssl_key = </etc/apache2/ssl/apache.key