【发布时间】:2016-03-21 15:47:55
【问题描述】:
我有以下情况: 我有一个在 Oracle 数据库(使用 Java SE 6)中运行的服务器,它使用 Apache HTTP 客户端(Java 中)连接到 Web 服务。需要使用 Kerberos 保护 Web 服务,即使用 SPNEGO 身份验证。
我的服务器有一个 Kerberos 主体,随机密钥导出到密钥表,然后导入到数据库表中。 因此,我有一个 KerberosPrincipal,其中包含许多关联的 KerberosKey 对象(每种加密方法一个),以及我在主题中收集的所有信息。
我希望下一步是联系 KDC 以获取 TGT 并将其存储在主题中。我怎么做?我在此找到的所有文档都假设这发生在登录模块中,但在我的场景中没有登录。或者以下其中一位是否会为我调用 KDC?
现在我需要调用 GSSManager.createCredential 来创建一个 GSSCredential,我可以将它包装到一个 KerberosCredentials 和一个 BasicCredentialsProvider 中,我可以将它们添加到 HttpClientContext 中,这样 HttpClient 就可以进行 SPNEGO 身份验证。
但是如何将我的 Subject 中的信息获取到 GSSCredential 中?
【问题讨论】:
标签: java kerberos spnego subject gss