Новая установка CentOS 6.3, openldap-servers-2.4.23. Сгенерировал новый запрос сертификата, подписал сертификат, запустил slapd. ldapsearch отвечает на ldapi: /// и ldap: ///. Однако, как только на ldaps: /// делается запрос, процесс slapd использует весь доступный процессор и никогда не отвечает.
strace -p -ff дает следующие результаты в бесконечном цикле:
[pid 5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid 5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid 5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid 5978] close(21) = 0
[pid 5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid 5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid 5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid 5978] close(21) = 0
[pid 5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid 5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid 5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid 5978] close(21) = 0
[pid 5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid 5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid 5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid 5978] close(21) = 0
[pid 5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid 5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid 5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid 5978] close(21)
Я повторно сгенерировал сертификаты, чтобы убедиться, что они не повреждены, без радости.
Догадаться. По-видимому, openldap загружает сертификаты по-разному в зависимости от того, где они находятся в структуре каталогов. Если они находятся в каталоге / etc / openldap / certs - он рассматривает их как MozNSS и после этого совершенно не может загрузить что-либо. Если они находятся в / etc / pki, он использует OpenSSL и загружает все нормально.