Функции для работы с удостоверениями
Работа приложения, опирающегося на интерфейс GSS-API, должна начинаться с получения удостоверения, которое засвидетельствует, что приложение имеет право выступать от имени определенного субъекта.
Интерфейс GSS-API предоставляет следующие функции для применения удостоверений:
- GSS_Acquire_cred - запрос удостоверения для последующего использования;
- GSS_Release_cred - отказ от удостоверения, ставшего ненужным;
- GSS_Inquire_cred - получение информации об удостоверении;
- GSS_Add_cred - постепенное формирование удостоверения;
- GSS_Inquire_cred_by_mech - получение информации об удостоверении, связанной с конкретным механизмом безопасности.
Как уже указывалось, приложение получает в свое распоряжение не само удостоверение, а его дескриптор, впоследствии используемый в качестве аргументов функций GSS_Release_cred, GSS_Inquire_cred, GSS_Add_cred, а также функций формирования контекста безопасности.
Функция GSS_Acquire_cred нужна в первую очередь серверным процессам, желающим сообщить, от чьего имени они выступают. Интерактивные пользователи могут получать подразумеваемые удостоверения неявным образом при входе в систему. Аналогично, при выходе такого пользователя из системы может автоматически выполняться вызов функции GSS_Release_cred.
Функция GSS_Inquire_cred позволяет получить информацию об удостоверении: имя ассоциированного субъекта, срок годности, возможность употребления в операциях с контекстом (инициация и/или принятие), поддерживаемые механизмы безопасности. Данная функция особенно полезна применительно к подразумеваемому удостоверению, характеристики которого могут меняться от системы к системе.
С помощью функции GSS_Add_cred возможно постепенно формировать удостоверения, добавляя в них поля, необходимые различным механизмам безопасности.
Функция GSS_Inquire_cred_by_mech пригодится в среде, поддерживающей несколько механизмов безопасности. Она, в частности, позволяет убедиться в том, что допускается использование данного удостоверения совместно с конкретным механизмом безопасности.