Опубликован: 26.01.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 3:

Инфраструктура Открытого Ключа (часть 3)

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Операции протокола LDAP

В протоколе определено 9 операций:

  1. Операции запроса информации.
    • Search
    • Compare
  2. Операции изменения информации.
    • Add
    • Delete
    • Modify
    • Rename
  3. Операции аутентификации и управления.
    • Bind
    • Unbind
    • Abandon
Типичные переговоры LDAP операции Bind
Типичные переговоры LDAP операции Bind

Рис. 15.0. Типичные переговоры LDAP операции Bind

Операция Bind передает аутентификационную информацию от клиента к серверу.

Запрос Bind определен следующим образом:

BindRequest ::= [APPLICATION 0] SEQUENCE {
    version        INTEGER (1 .. 127), 
    name           LDAPDN, 
    authentication AuthenticationChoice 
} 
AuthenticationChoice ::= CHOICE { 
    simple [0] OCTET STRING, 
-- 1 и 2 зарезервированы 
    sasl [3] SaslCredentials, 
... } 
SaslCredentials ::= SEQUENCE { 
    mechanism   LDAPString, 
    credentials OCTET STRING OPTIONAL 
}

Параметрами запроса Bind являются:

  • Version: номер версии, указывает используемую версию протокола. В настоящий момент максимальная версия протокола равна 3. Заметим, что переговоров о номере версии не ведется, клиент просто посылает данный параметр. Если сервер не поддерживает указанную версию, он отвечает protocolError в поле resultCode в BindResponse.
  • Name: имя объекта директории, к которой клиент хочет присоединиться. Данное поле может иметь нулевое значение (строку нулевой длины) для анонимного связывания или когда используется SASL аутентификация.
  • Authentication: информация, используемая для аутентификации имени, указанного в запросе Bind . Серверы, которые не поддерживают выбор, предлагаемый клиентом, будут возвращать authMethodNotSupported в коде результата для запроса Bind . Аутентификацию с использованием механизмов SASL мы рассматривать не будем, так как эти способы аутентификации в инфраструктуре открытого ключа при доступе к репозиторию LDAP сейчас не используются.

Ответ Bind определяется следующим образом.

BindResponse ::= [APPLICATION 1] SEQUENCE { 
    COMPONENTS OF LDAPResult, 
    serverSaslCreds [7] OCTET STRING OPTIONAL 
}

BindResponse состоит из индикации от сервера статуса запроса клиента на аутентификацию.

Если связывание прошло успешно, то resultCode будет success, в противном случае он должен содержать OperationError или другую индикацию неудачной аутентификации. Если сервер не поддерживает требуемую клиенту версию протокола, он должен установить resultCode в protocolError.

Операция Unbind

Функция операции Unbind состоит в завершении сессии протокола. Операция Unbind определяется следующим образом:

UnbindRequest ::= [APPLICATION 2] NULL

Операция Unbind не имеет ответа. После передачи UnbindRequest клиент должен предполагать, что сессия протокола завершена. После получения UnbindRequest сервер должен предполагать, что клиент завершил сессию и все выходящие запросы им сброшены, и должен закрыть соединение.

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Татьяна Крыжановская
Татьяна Крыжановская
Украина, Одесса
Valeriya Gubareva
Valeriya Gubareva
Россия