Пакет 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.- С версии:
- 1.4
| Класс | Описание |
|---|---|
| ChannelBinding | Этот класс инкапсулирует понятие предоставляемой вызывающей стороной информации о привязке канала. |
| GSSContext | Этот интерфейс инкапсулирует контекст безопасности GSS-API и предоставляет службы безопасности, доступные в рамках этого контекста. |
| GSSCredential | Этот интерфейс инкапсулирует учётные данные GSS-API для сущности. |
| GSSException | Это исключение выбрасывается при возникновении ошибки GSS-API, включая ошибки, специфичные для конкретного механизма. |
| GSSManager | Этот класс служит фабрикой для других важных классов GSS-API, а также предоставляет сведения о поддерживаемых механизмах. |
| GSSName | Этот интерфейс инкапсулирует одну сущность принципала GSS-API. |
| MessageProp | Это вспомогательный класс, используемый в методах GSSContext для отдельных сообщений для передачи свойств отдельных сообщений. |
| Oid | Этот класс представляет универсальные идентификаторы объектов (OID) и связанные с ними операции. |
© 1993, 2025, 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/25/docs/api/java.security.jgss/org/ietf/jgss/package-summary.html