Автор Тема: Не работает поиск в OpenLDAP по binary атрибуту  (Прочитано 1938 раз)

Kom6aT

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Добрый день.

У нас есть приложение, которое умеет авторизовывать пользователей по сертификату, который хранится в LDAP.

Я пытаюсь настроить такую авторизацию, используя OpenLDAP.
При попытке авторизации приложение отправляет searchrequest с фильтром userCertificate;binary, указывая в качестве значения собственно сертификат в его бинарном виде.
Но при этом OpenLDAP возвращает 0 results, хотя объект user, у которого этот сертификат записан в атрибут userCertificate, присутствует.
В логе OpenLDAP я вижу ошибку "unknown attributeType userCertificate;binary".

При этом если делать тоже самое, используя не OpenLDAP, а MS AD, то все работает норм - сертификат и пользователь успешно находятся.

Если пробовать сделать запрос используя ldapsearch, а не наше приложение, то результат аналогичный - ничего не находится и ошибка "unknown attributeType userCertificate;binary" в логе.

Если попробовать запрос searchrequest с фильтром userCertificate, то также ничего не находится, а в логе ошибка illegal value for attributeType userCertificate.

Я попробовал также просто создать отдельный binary атрибут:
dn: cn={1}user,cn=schema,cn=config
changetype: modify
add: olcAttributeTypes
olcAttributeTypes: ( 2.5.4.90 NAME 'bin' SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )

Записал в него простую последовательность символов и также проверил с помощью ldapsearch - результат аналогичный.

В связи с этим вопрос, может кто подскажет.
Как должен выглядеть работающий ldapsearch запрос, чтобы он нашёл этот объект?
Либо может быть проблема в описании атрибута в схеме?