我有以下情况: 我有一个服务器在Oracle数据库(使用Java SE 6)内运行,该数据库使用Apache HTTP客户端(Java)连接到Web服务。需要使用Kerberos保护Web服务,即使用SPNEGO身份验证。
我的服务器有一个Kerberos主体,随机密钥导出到密钥表,然后导入到数据库表中。 所以我有一个KerberosPrincipal,其中包含许多关联的KerberosKey对象(每个加密方法一个),我在主题中收集的所有信息。
我希望下一步是联系KDC以获取TGT并将其存储在主题中。我怎么做?我在此发现的所有文档都假定这发生在登录模块中,但我的方案中没有登录。或者下面会有人给我打电话给KDC吗?
现在我需要调用GSSManager.createCredential创建一个GSSCredential,我可以将其包装到我可以添加到HttpClientContext的KerberosCredentials和BasicCredentialsProvider中,这样HttpClient就可以进行SPNEGO身份验证。
但是如何将我的主题中的信息导入GSSCredential?
答案 0 :(得分:1)
在网上挖了大约一个星期之后,我终于找到了答案here。 来自该文档的片段: