Пакет org.ietf.jgss
GSS-API определен независимо от языка в RFC 2743. Языковые привязки языка Java определены в RFC 2853
Приложение начинает работу с создания экземпляра GSSManager, который затем служит фабрикой для контекста безопасности. Приложение может использовать определённые имена принципалов и учётные данные, которые также создаются с помощью GSSManager; или оно может создать контекст с системными значениями по умолчанию. Затем оно проходит цикл создания контекста. После создания контекста с партнёром, аутентификация завершается. Защита данных, такая как целостность и конфиденциальность, может быть получена из этого контекста.
GSS-API не выполняет никакой коммуникации с партнёром. Он просто генерирует токены, которые приложение должно каким-то образом передать на другой конец.
Получение учётных данных
Сам GSS-API не определяет, как базовый механизм получает учётные данные, необходимые для аутентификации. Предполагается, что до вызова GSS-API эти учётные данные получены и сохранены в месте, о котором знает поставщик механизма. Однако, по умолчанию в платформе Java будет ожидаться, что поставщики механизмов должны получать учётные данные только из наборов учётных данных, связанных сSubject в текущем контексте контроля доступа. Механизм Kerberos v5 будет искать необходимые учётные данные INITIATE и ACCEPT (KerberosTicket и KerberosKey) в наборе частных учётных данных, в то время как некоторые другие механизмы могут искать их в общедоступном наборе или в обоих. Если требуемые учётные данные отсутствуют в соответствующих наборах текущего Subject, вызов GSS-API должен завершиться ошибкой.Этой модели есть преимущество в том, что управление учётными данными просто и предсказуемо с точки зрения приложения. Приложение, имея соответствующие разрешения, может очистить учётные данные в Subject или обновить их, используя стандартные API Java. Если оно очистило учётные данные, то оно может быть уверено, что механизм JGSS завершится ошибкой; или если оно обновило временные учётные данные, то оно может быть уверено, что механизм JGSS будет успешным.
Эта модель требует выполнения JAAS login для аутентификации и заполнения Subject, который механизм JGSS может впоследствии использовать. Однако, приложения могут ослабить это ограничение с помощью системной переменной среды: javax.security.auth.useSubjectCredsOnly. По умолчанию эта переменная будет считаться true (даже если она не установлена), что означает, что поставщики должны использовать только учётные данные, которые присутствуют в текущем Subject. Однако, если приложение явно установит эту переменную в значение false, это означает, что поставщик свободен использовать любой кеш учётных данных по своему выбору. Такой кеш учётных данных может быть дисковым кешем, кешем в оперативной памяти или даже просто текущим Subject.
Связанная документация
Для ознакомления с онлайн-туториалом по использованию Java GSS-API, пожалуйста, обратитесь к Введение в JAAS и Java GSS-API.- Since:
- 1.4
| Класс | Описание |
|---|---|
| ChannelBinding | Этот класс описывает концепцию информации о связывании канала, предоставляемой вызывающей стороной. |
| GSSContext | Этот интерфейс описывает контекст безопасности GSS-API и предоставляет службы безопасности, доступные в рамках контекста. |
| GSSCredential | Этот интерфейс описывает учётные данные GSS-API для сущности. |
| GSSException | Эта исключение выбрасывается всякий раз, когда возникает ошибка GSS-API, включая любую механико-специфическую ошибку. |
| GSSManager | Этот класс служит фабрикой для других важных классов GSS-API, а также предоставляет информацию о поддерживаемых механизмах. |
| GSSName | Этот интерфейс описывает отдельную сущность принципала GSS-API. |
| MessageProp | Этот вспомогательный класс используется в методах GSSContext на уровне отдельных сообщений для передачи свойств на уровне отдельного сообщения. |
| Oid | Этот класс представляет универсальные идентификаторы объектов (OID) и связанные с ними операции. |
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.security.jgss/org/ietf/jgss/package-summary.html