How do people make Java SPNEGO client work in Windows?

前端 未结 3 1429
北海茫月
北海茫月 2020-12-28 08:40

In order to do client-side HTTP SPNEGO authentication with Java on Windows you need to set the Windows Registry key allowtgtsessionkey. This is well documented. What I do no

3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-28 09:37

    Thanks for referencing my thread on the security-dev mailing list ;-) My mid-term goal is to make this patch available to Java 6+ through the endorsed class path. You might be interested in this WAFFLE ticket which I have created recently: https://github.com/dblock/waffle/issues/50

    I have evaluated WAFFLE too but it is so not-Java-GSS-like that one has to create duplicate code, this is something I want to avoid by all means.

    This entire issue is not exactly Oracle's fault. Microsoft is simply blocking any call to the session ticket through the LSA CallPackage function. The pretext is security. I would really like to know how SSPI is able to create a service ticket when I cannot reasonable access the TGT. Therefore such a closed source solution sucks.

    Right now at the moment, you have only three options:

    1. Obtain the TGT again through Java means
    2. Try WAFFLE
    3. Write custom code

    I have burried the crappy registry key because it does not work for local admin with domain accounts anyway. In my case, Tomcat dev on Windows I have resorted to call Java's kinit in the meantime.

提交回复
热议问题