A E*_*ger 11 kerberos spring-security spnego java-6 java-7
我有一个使用spring-security kerberos扩展的工作应用程序,在jboss上运行,运行java 6.
我正在将我的jvm从java 6升级到java 7.当我这样做时,使用相同的代码库和在java 6上工作的相同keytab,我现在在使用java 7时收到错误.
我一直收到:java.security.PrivilegedActionException:GSSException:在GSS-API级别未指定失败(机制级别:无效参数(400) - 无法找到适当类型的密钥以使用HMAC解密AP REP-RC4)
我试图用其他论坛中描述的不同/加密选项重新生成密钥表,但无济于事.
我已经调试了java 7代码,实际上,处理启动时读取keytab的类从6更改为7.可能是因为我的keytab不再正确读入应用程序了吗?我在启动时使用Java6看到的一些调试消息在7中不再出现了,但我不知道这是设计还是表明其他内容正在发挥作用?有没有其他人有问题从6升级到7并且他们的kerberos集成打破了他们?有什么建议?
使用spnego和kerberos调试登录进行启动,我的日志显示:
2012-12-10 10:29:30,886 Debug is true storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache is null isInitiator false KeyTab is jndi:/localhost/docfinity/WEB-INF/classes/config/common/security/http-docfinity.keytab refreshKrb5Config is false principal is HTTP/VMMSSDEV.TESTING.LOCAL@TESTING.LOCAL tryFirstPass is false useFirstPass is false storePass is false clearPass is false
2012-12-10 10:30:26,322 principal is HTTP/VMMSSDEV.TESTING.LOCAL@TESTING.LOCAL
2012-12-10 10:30:29,794 Will use keytab
2012-12-10 10:30:29,807 Ordering keys wrt default_tkt_enctypes list
2012-12-10 10:30:29,821 Config name: C:\Windows\krb5.ini
2012-12-10 10:30:29,827 Using builtin default etypes for default_tkt_enctypes
2012-12-10 10:30:29,832 default etypes for default_tkt_enctypes:
2012-12-10 10:30:29,837 17 aes128-cts-hmac-sha1-96
2012-12-10 10:30:29,839 16 des3-cbc-sha1-kd
2012-12-10 10:30:29,842 23 rc4-hmac
2012-12-10 10:30:29,846 1 des-cbc-crc
2012-12-10 10:30:29,849 3 des-cbc-md5
2012-12-10 10:30:29,851 .
2012-12-10 10:30:29,855 Commit Succeeded
Run Code Online (Sandbox Code Playgroud)
另一个问题 - 你会看到它试图读取C:\ Windows\krb5.ini.我的服务器上没有这样的文件.我需要一个吗?我也没有使用java 6并且有效.
亚伦
以下是可能影响您的两个潜在问题:
SO 上的另一个用户通过修改 Spring 源代码解决了最后一个问题:
| 归档时间: |
|
| 查看次数: |
9274 次 |
| 最近记录: |