how to implement Kerberos protocol transition in Java? (S4U2Self)

为君一笑 提交于 2019-12-06 06:43:55

问题


Edit

Now I know what I need. I need to implement Kerberos protocol transition (S4U2Self) in Java. There are examples in .Net, but none for Java.

There is this third party library Quest Single Sign on for Java that claims to do that. I've downloaded the JAR and it looks good, but I would rather use a custom implementation instead of someone else's code (which have to be paid).

Can anyone give any head start on what needs to be done? Any existing open Java API to handle this?

Thanks

Question before

At the moment my application only knows the user id, and I need to authenticate that user with Kerberos, create a service ticket and use it to access a third party service.

My application needs to act like a proxy, and needs to send requests to the third party service on behalf of the provided user id. This is because there are constraints on other third party applications.

I can't get the password of the given user id in any way, nor get a previous service ticket from the same user id (to forward it). I do know, the credentials of an admin user.

Is there a way to create a service token using just the user id (principal name)?

Maybe some sort of delegation, in which a trusted principal is already authenticated and requests service tickets for other principals?

Thanks


回答1:


S4U2self/S4U2proxy is supposed to be coming in JDK 8:

  • http://openjdk.java.net/projects/jdk8/features
  • http://openjdk.java.net/jeps/113

In the meantime, I'm looking at https://github.com/cconlon/kerberos-java-gssapi

(His SWIG input file doesn't include gss_acquire_cred_impersonate_name but that's simple to change. Working out how to use it might take me a bit longer.)



来源:https://stackoverflow.com/questions/10099321/how-to-implement-kerberos-protocol-transition-in-java-s4u2self

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!