2

使用 Oracle JDK 时,可以使用“org.ietf.jgss.GSSCredential”并使用“com.sun.security.jgss.GSSUtil.class”类从中创建主题。

我正在寻找的是如何使用 IBM JDK 实现等价物。

在 Oracle JDK 上,获得的 Subject 然后在 Subject.doAs 调用中用于正在进行的出站连接,但我无法在 IBM 上实现这一点,因为我无法将 GSSCredential 转换为可用的 Subject。

我看过下面的 IBM 票,但我看不到他们提到的 SPI 类如何提供这个: - http://www-01.ibm.com/support/docview.wss?uid=swg1IZ45390

4

2 回答 2

0

他们的工作方式不正确!永远不要使用私人课程,这GSSUtil是私人课程。你应该做的是

Subject sub = new Subject();
sub.getPrivateCredentials().add(gssCredential);
...
Subject.doAs(sub, action);
于 2014-03-27T08:53:45.340 回答
0

OpenJDK 版本的源代码GSSUtil可在线获取。查看代码(和注释),您可以看到它依赖于 Sun 的 GSSName 和 GSSCredential 实现的包私有 API,特别是:GSSNameImplGSSNameSpi和. IBM Java SDK包含可用于实现相同功能的类似 IBM 实现。看看和包。Krb5NameElementGSSCredentialImpl
ibmjgssprovider.jarcom.ibm.security.jgsscom.ibm.security.krb5

于 2014-03-27T08:29:53.753 回答