Хорошо, я наконец понял это. Решение лежит в моем/etc/ldap.conf
# Ubuntu has stuff built against GNUtls instead of openssl # Get this from the gnutls-cli manpage under --priority TLS_CIPHER_SUITE SECURE256
Я не указывал --priority SECURE256
при выдаче gnutls-cli
команд, поэтому он использовал разные алгоритмы. Включая это:
~ > gnutls-cli --starttls-proto=ldap --priority SECURE256 -p 389 ldap.dark.kow.is Processed 134 CA certificate(s). Resolving 'ldap.dark.kow.is:389'... Connecting to '10.10.220.213:389'... - Certificate type: X.509 - Got a certificate list of 2 certificates. - Certificate[0] info: - subject `CN=ldap.dark.kow.is', issuer `CN=dark.kow.is CA', serial 0x637523035782280200a2dd2e262980d1, RSA key 4096 bits, signed using RSA-SHA256, activated `2018-01-13 20:22:12 UTC', expires `2028-01-11 20:22:12 UTC', pin-sha256="Xywzn8R32GsgoWQol5pKSJYrFVOrpXk1stF4kKPl1yY=" Public Key ID: sha1:d7aa0336e36c3e63c8c0acb4d80dfa0541cadc0a sha256:5f2c339fc477d86b20a16428979a4a48962b1553aba57935b2d17890a3e5d726 Public Key PIN: pin-sha256:Xywzn8R32GsgoWQol5pKSJYrFVOrpXk1stF4kKPl1yY= Public key's random art: +--[ RSA 4096]----+ | . | |oo. | |Eo.. | |. .. . | | +. S . . | | .=. = . . | |o+.=.= + . | |+...+ B .. | | .. +.o.. | +-----------------+ - Certificate[1] info: - subject `CN=dark.kow.is CA', issuer `CN=dark.kow.is CA', serial 0x00d0d752ba5297a770, RSA key 2048 bits, signed using RSA-SHA256, activated `2016-12-24 17:49:30 UTC', expires `2026-12-22 17:49:30 UTC', pin-sha256="0Gze+gcPQQ0Dq4mT5pdt5H7z6HMM/NOeHc8pZ5z/BHg=" - Status: The certificate is NOT trusted. The certificate chain uses insecure algorithm. *** PKI verification of server certificate failed... *** Fatal error: Error in the certificate. *** handshake has failed: Error in the certificate.
Теперь у меня тот же сбой, что и у команд LDAP, и мне нужно отключить этот уровень безопасности в моем ldap.conf, чтобы он снова заработал. Изменение моих сертификатов также будет работать, используя алгоритм, который попадает в категорию SECURE256.