2

Oracle JDK を使用する場合、「org.ietf.jgss.GSSCredential」を取得し、クラス「com.sun.security.jgss.GSSUtil.class」を使用してこれからサブジェクトを作成できます。

私が探しているのは、IBM JDK を使用して同等のものを実現する方法です。

Oracle JDK では、取得されたサブジェクトは継続的なアウトバウンド接続の Subject.doAs 呼び出しで使用されますが、GSSCredential を使用可能なサブジェクトに変換できないため、IBM ではこれを実現できません。

次の IBM チケットを見たことがありますが、言及されている SPI クラスがこれをどのように提供するかわかりません 。

4

2 に答える 2

0

のOpenJDK バージョンのソース コードGSSUtilは、オンラインで入手できます。コード (およびコメント) を見ると、Sun の GSSName および GSSCredential の実装のパッケージ プライベート API、具体的GSSNameImplには 、GSSNameSpiKrb5NameElementおよびに依存していることがわかりますGSSCredentialImpl
IBM Java SDKibmjgssprovider.jarには、同じ機能を実現するために使用できる同様の IBM 実装が含まれています。com.ibm.security.jgsscom.ibm.security.krb5パッケージを見てください。

于 2014-03-27T08:29:53.753 に答える
0

彼らの働き方は間違っています!プライベート クラスを使用しないでください。これはプライベート クラスGSSUtilです。あなたがすべきことは

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