Форум проекта Pro-LDAP.ru

Общие вопросы по LDAP => Схема данных, наборы Schema, объектные классы, атрибуты и другое => Тема начата: gloomyad от 07 Февраль 2013, 11:25:46

Название: userCerificate
Отправлено: gloomyad от 07 Февраль 2013, 11:25:46
Выгрузил из AD сертификат и пытаюсь его загрузить в OPENLDAP. Поставил как просит система binary. При добавлении вышла ошибка value #0 normalization failed, Если меняю SYNTAX userCertificate на OCTET 1.3.6.1.4.1.1466.115.121.1.40 то сертификат загружается и через LDAP клиент сертификат читается. Вопрос в чем отличие SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 от 1.3.6.1.4.1.1466.115.121.1.40. Какой SYNTAX для сертификата правильнее. И как иизбавиться от ошибки для SYNTAX 1.3.6.1.4.1.1466.115.121.1.8
Название: Re: userCerificate
Отправлено: egor от 08 Февраль 2013, 09:04:31
Здравствуйте!

SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 -- это не просто binary, этот синтаксис называется Certificate и в атрибуты с таким синтаксисом должны помещаться сертификаты, закодированные  в DER (Distingushed Encoding Rules). Соответсвенно, #0 normalization failed говорит о том, что формат неверный. В атрибуты типа octetString можно записать всё, что угодно, поэтому у Вас и не ругается. О типах данных можно почитать в LFRS (http://pro-ldap.ru/tr/zytrax/apa/types.html), а по сертификатам есть небольшое HOWTO на английском (http://www.tldp.org/HOWTO/archived/LDAP-Implementation-HOWTO/certificates.html). В каком формате сертификаты выгружаются из AD я точно не знаю, но наверняка их можно перекодировать в DER. Изменять схему данных, конечно, не стоит.

Егор