Email

Dovecot 拒絕客戶證書

  • March 3, 2017

我已將 dovecot 配置為使用客戶端證書身份驗證。我已經使用 CA.pl(openssl 包裝器)創建 CA 證書並用它簽署客戶端和伺服器證書。(沒有證書鏈,CA 證書在客戶端中受信任)我已將證書設置為 dovecot 中的 CA 證書以進行客戶端身份驗證。Dovecot 正確地向 IceDove 請求證書,但在點擊“確定”後,它失敗並出現錯誤“客戶端沒有提供有效的 SSL 證書”。

使用 openssl 手動測試 IMAP 連接也會導致此錯誤。

鴿舍配置:https ://gist.github.com/Xcess/71f7eeeda0a270b252f1de5d7308c0e2

我嘗試了 CN=user1 和 CN=user1@domain.com 的證書。都失敗了。在 dovecot conf 中也將 common-name 設置為使用者名…沒有區別。

我不知道該怎麼做,因為這在手冊中都有說明,而且看起來非常簡單明了。但它失敗了。

謝謝


更新 1:命令輸出openssl x509 -in certificate.crt -text -noout

證書:數據:版本:3 (0x2) 序列號:8e:3d:9b:7c:13:35:88:b7

簽名算法:sha256WithRSAEncryption

頒發者:C=IR,ST=Isf,O=Apps4you,CN=lnxsrv2

有效性

不早於:2017 年 3 月 1 日 10:45:32 GMT

不晚於:2018 年 3 月 1 日 10:45:32 GMT

主題:C=AU,ST=Some-State,O=Internet Widgits Pty Ltd,CN=user1/emailAddress=user1 @apps4you.com

主題公鑰資訊:

公鑰算法:rsaEncryption

公鑰:(2048 位)

模數:

— 指數:65537 (0x10001)

X509v3 擴展:

X509v3 基本約束:CA:FALSE

Netscape 註釋:OpenSSL 生成的證書

X509v3 主題密鑰標識符:—

—–輸出省略—–


更新 2:這個稍作修改的配置文件也不起作用: https ://gist.github.com/Xcess/599beaec17a4a524a2acbde1b7f5c70f


更新 3:

詳細 SSL 日誌文件:

https ://gist.github.com/Xcess/f54850ecdaa6bcd044a77d133cb9b9c2

我找到了答案,所以我想我也應該在這裡發布。(正是@behrad-eslamifar做到了:)

即使您已設置 ssl_require_crl = no,您也應該將 CRL 附加到給予 dovecot 的 CA 證書

像這樣:

openssl ca -gencrl -out crlfile
cat crlfile >> cacert.pem
service dovecot restart

感謝大家的建議。<3

您需要向此證書添加 X.509 擴展以將其用於客戶端身份驗證。

openssl.cnf,在[ usr_cert ],每個openssl.conf例子:

[ usr_cert ]
nsCertType = client, email

但是,據說 nsCertType 已過時,還需要添加 X.509 擴展。然後添加一個新部分:

[ xpclient_ext]
extendedKeyUsage = 1.3.6.1.5.5.7.3.2

要添加擴展,您還需要-extensions xpclient_ext在生成證書時將選項傳遞給 openssl。

RFC 3280 定義了以下擴展密鑰使用目的:

serverAuth (1.3.6.1.5.5.7.3.1) – TLS Web 伺服器認證

clientAuth (1.3.6.1.5.5.7.3.2) – TLS Web 客戶端認證

請注意,我建議同時添加nsCertType和 RFC 3280 擴展。一些軟體,尤其是 PfSense,仍然會檢查nsCertType.

引用自:https://unix.stackexchange.com/questions/348372