- PR -

JavaのケルベロスでActiveDirectoryからチケットをもらう

1
投稿者投稿内容
hisashu
会議室デビュー日: 2002/07/24
投稿数: 7
投稿日時: 2004-04-13 10:56
表題の件でJAAS経由でActiveDirectoryからケルベロスチケットをもらおうとしています。ところが「認証情報がおかしい」とサーバからエラーが帰ってきます。Windows同士であれば問題なくログインできています。そもそもJAASのクライアント認証をActiceDirectoryで行うことは出来るのでしょうか?ご存知のかたいらっしゃれば是非、アドバイスお願いいたします。

環境:
 クライアント:J2SDK1.4.2_03、Windows2000
 サーバ:Windows2003

コード:
public class KerTest1 {
public static void main(String[] args) {
LoginContext lc = null;
try{
lc = new LoginContext("SampleClient", new TextCallbackHandler());
lc.login();
} catch(LoginException le){
le.printStackTrace();
}
Subject mySubject = lc.getSubject();
PrivilegedAction pa = new ClientAction();
Subject.doAs(mySubject, pa);
}
}

例外:
javax.security.auth.login.LoginException: Pre-authentication information was invalid (24)
at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:585)
at com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:475)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:675)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)
at javax.security.auth.login.LoginContext.login(LoginContext.java:534)
at KerTest1.main(KerTest1.java:31)
Caused by: KrbException: Pre-authentication information was invalid (24)
at sun.security.krb5.KrbAsRep.<init>(DashoA6275:62)
at sun.security.krb5.KrbAsReq.getReply(DashoA6275:310)
at sun.security.krb5.Credentials.acquireTGT(DashoA6275:347)
at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:576)
... 12 more
Caused by: KrbException: Identifier doesn't match expected value (906)
at sun.security.krb5.internal.af.a(DashoA6275:129)
at sun.security.krb5.internal.at.a(DashoA6275:58)
at sun.security.krb5.internal.at.<init>(DashoA6275:53)
at sun.security.krb5.KrbAsRep.<init>(DashoA6275:48)
... 15 more
1

スキルアップ/キャリアアップ(JOB@IT)