|
|||||||||
软件包 org.ietf.jgss
此包提供一个框架,该框架允许应用程序开发人员通过利用统一的 API 使用一些来自各种基础安全机制(如 Kerberos)的安全服务,如身份验证、数据完整性和和数据机密性。请参见:
描述
接口摘要 | |
---|---|
GSSContext | 此接口将封装 GSS-API 安全上下文,并提供可通过上下文提供的安全服务。 |
GSSCredential | 此接口将为实体封装 GSS-API 凭据。 |
GSSName | 此接口将封装单一的 GSS-API 主体实体。 |
类摘要 | |
---|---|
ChannelBinding | 此类封装关于调用方提供的通道绑定信息的概念。 |
GSSManager | 此类作为其他重要 GSS-API 类的工厂,并且还提供有关受支持的机制的信息。 |
MessageProp | 这是一个在 per-message GSSContext 方法中使用的、用来传送 per-message 属性的实用工具类。 |
Oid | 此类表示 Universal Object Identifiers(通用对象标识符,即 Oid)及其相关的操作。 |
异常摘要 | |
---|---|
GSSException | 每当发生 GSS-API 错误(包括任何特定于机制的错误)时,都会抛出此异常。 |
软件包 org.ietf.jgss 的描述
此包提供一个框架,该框架允许应用程序开发人员通过利用统一的 API 使用一些来自各种基础安全机制(如 Kerberos)的安全服务,如身份验证、数据完整性和和数据机密性。应用程序可以选择使用的安全机制由惟一的对象标识符标识。此类机制的其中一个示例就是 Kerberos v5 GSS-API 机制(对象标识符 1.2.840.113554.1.2.2)。此机制可以通过 GSSManager 类的默认实例获取。
GSS-API 以一种独立于语言的方式在 "RFC 2743" 中定义。Java 语言绑定在 "RFC 2853" 中定义。
应用程序通过实例化 GSSManager
启动,然后 GSSManager
充当安全上下文的工厂。应用程序可以使用那些也可以利用 GSSManager 创建的特定主体名称和凭据;或者还可以使用系统默认值实例化上下文。然后检查上下文创建环路。一旦与同位体一起建立了上下文,也就完成了身份验证。诸如完整性和机密性的数据保护则可以从此上下文中获取。
GSS-API 与同位体之间不进行任何通信。它只产生应用程序必须以某种方式传输给其他端的标记。
凭据获取
GSS-API 本身并不指示基础机制如何获取身份验证所必需的凭据。它假定,在调用 GSS-API 之前获取这些凭据,并将其存储在一个机制提供程序知道的地方。不过,Java 2 平台中的默认模型将是这样的:机制提供程序必须仅从私有或公共凭据集中获取凭据,这些凭据集与当前访问控制上下文中的Subject
相关。Kerberos v5 机制将在私有凭据集中搜索需要的 INITIATE 和 ACCEPT 凭据(KerberosTicket
和 KerberosKey
),而其他机制可能要在公共集(或两者)中查找。如果需要的凭据未在当前 Subject 的适当集合中,则 GSS-API 调用一定会失败。
此模型具有凭据管理简单、可从应用程序角度预知这一优势。具有适当权限的应用程序可以使用标准的 Java API 清除 Subject 中的凭据或更新它们。如果应用程序清除了这些凭据,就可以确保 JGSS 机制失败,如果它更新了基于时间的凭据,就可以确保 JGSS 机制能够成功。
此模型要求执行 JAAS login
,以便对 JGSS 机制稍后可以利用的 Subject 进行身份验证并登录。不过,应用程序能够通过以下系统属性放宽此限制:javax.security.auth.useSubjectCredsOnly
。默认情况下,将假定此系统属性为 true
(即便在未设置时也是如此),以指示提供程序必须仅使用当前 Subject 中存在的凭据。不过,如果通过应用程序将此属性显式设置为 false,则表示该提供程序可以随意使用它所选择的任何凭据缓存。此类凭据缓存可以是磁盘缓存、内存缓存,抑或仅仅是当前 Subject 本身。
相关文档
有关使用 Java GSS-API 的在线教程,请参阅《Introduction to JAAS and Java GSS-API》。
- 从以下版本开始:
- 1.4
所有类
|
|||||||||