我有以下场景: 我有一个服务器运行在Oracle数据库(使用Java SE 6)内,使用Apache HTTP客户端(使用Java)连接到Web服务。 Web服务需要使用Kerberos进行保护,即使用SPNEGO认证。GSSManager.createCredential如何获取Kerberos密钥和TGT?
我的服务器有一个Kerberos主体,随机密钥导出到密钥表中,然后导入到数据库表中。 因此,我有一个KerberosPrincipal与一些关联的KerberosKey对象(每个加密方法一个),我收集的一个主题中的所有信息。
我希望下一步是联系KDC以获取TGT并将其存储在主题中。我怎么做?我在此发现的所有文档都假定这发生在登录模块中,但在我的方案中没有登录。或者下面的一个会给我打电话给KDC吗?
现在我需要调用GSSManager.createCredential创建GSSCredential我可以包装成KerberosCredentials,我也可以添加到一个HttpClientContext BasicCredentialsProvider,所以HttpClient的可以做SPNEGO认证。
但是,如何将我的主题中的信息放入GSSCredential中?