Ubuntu
不接受 Ubuntu 12.04 LDAP SSL 自簽名證書
我正在使用 Ubuntu 12.04,使用 OpenLDAP 伺服器。我已經按照Ubuntu 幫助頁面上的說明進行操作,並且可以在沒有安全性的情況下愉快地連接。為了測試我的連接,我使用
ldapsearch
的命令如下:ldapsearch -xv -H ldap://ldap.[my host].local -b dc=[my domain],dc=local -d8 -ZZ
我也用過:
ldapsearch -xv -H ldaps://ldap.[my host].local -b dc=[my domain],dc=local -d8
據我所知,我已經正確設置了我的證書,但無論我為什麼嘗試,我似乎都無法
ldapsearch
接受我的自簽名證書。到目前為止,我已經嘗試過:
- 更新我的
/etc/ldap/ldap.conf
文件看起來像:BASE dc=[my domain],dc=local URI ldaps://ldap.[my host].local TLS_CACERT /etc/ssl/certs/cacert.crt TLS_REQCERT allow
- 更新我的
/etc/ldap.conf
文件看起來像:base dc=[my domain],dc=local uri ldapi:///ldap.[my host].local uri ldaps:///ldap.[my host].local ldap_version 3 ssl start_tls ssl on tls_checkpeer no TLS_REQCERT allow
- 更新我
/etc/default/slapd
的包括:SLAPD_SERVICES=“ldap:/// ldapi:/// ldaps:///”
- 幾個小時的Google搜尋,其中大部分導致添加
TLS_REQCERT allow
我看到的確切錯誤是:
ldap_initialize( ldap://ldap.[my host].local ) request done: ld 0x20038710 msgid 1 TLS certificate verification: Error, self signed certificate in certificate chain TLS: can't connect. ldap_start_tls: Connect error (-11) additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
經過幾個小時,我希望其他人已經看到了這個問題,和/或知道如何解決它。請讓我知道我是否應該添加更多資訊,或者您是否需要更多數據。
問題是 Ubuntu 12.04 附帶的 GnuTLS 版本使用了有缺陷的加密後端。
GnuTLS 應該從使用 gcrypt 作為加密後端切換到蕁麻,但存在許可問題。具體來說,一些 GPL 許可證允許與新舊版本的 GPL 連結,而有些則不允許。
您可以從配置了 nettle 的原始碼重建 GnuTLS,也可以按照 Howard Chu 建議的方式破解 gcrypt。前者的說明在此錯誤報告中。