首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为spring-security-kerberos-client生成MS keytab

为spring-security-kerberos-client生成MS keytab
EN

Stack Overflow用户
提问于 2016-02-03 15:57:09
回答 1查看 2K关注 0票数 2

我试着测试我的内存域应用程序。App服务器已成功部署。无论是kerberos还是用户名/密码,身份验证都工作得很好。

但是,当我添加“test”(它是控制器的原因)时,使用由'ktpass‘客户端键标签生成的'KerberosRestTemplate’,则抛出'SunJaasKerberosTicketValidator‘异常:

“java.security.PrivilegedActionException: GSSException: GSS级别未指定的失败(机制级:指定版本的密钥不可用(44)”。

我认为原因是由ktpass生成的keytab文件被破坏了。我就是这样生成的:

"C:> ktpass /princ deniz@TESTAD.LOCAL /pass Qw1er2ty3 /ptype KRB5_NT_PRINCIPAL /out deniz.keytab

代码语言:javascript
复制
*NOTE: creating a keytab but not mapping principal to any user.
For the account to work within a Windows domain, the
principal must be mapped to an account, either at the
domain level (with /mapuser) or locally (using ksetup)
If you intend to map deniz@TESTAD.LOCAL to an account through other means
or don't need to map the user, this message can safely be ignored.
WARNING: pType and account type do not match. This might cause problems.
Key created.
Output keytab to deniz.keytab:
Keytab version: 0x502
keysize 52 deniz@TESTAD.LOCAL ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x17 (RC4-HMAC) keylength 16 (0xa0eb0b1e09b8c36edc
2da4762c53283f)*"

以防万一我在github:sample上保存了示例

我认为keytab我的keytab坏了,但是找不到如何生成它供客户使用(没有HTTP/username@DOMAIN)。

附注:对不起我的英语。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-04 12:42:19

每当您运行ktpass时,AD都会将存储在AD中的版本号增加1。因此,在运行ktpass之前,您需要查看实际值,并使用/kvno选项(https://technet.microsoft.com/en-us/library/cc753771.aspx)指定这个值递增1,以便AD中存储的密钥版本号与keytab文件中的密钥版本号相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35181713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档