ktpass和ktab的主要用法 -凯发k8网页登录

 

ktpass和ktab的主要用法

不少人都没搞清楚ktpass跟ktab的用法,特此写一篇文章来叙说一下。
我假设你对kerberos有所认识,可以读我的一篇文章<weblogic security in action>,里面初步介绍了kerberos协议(基于windows kdc)。
在kerberos中,安全性完全是依赖于share secret,也就是,kdc跟kerberos service之间都共享着一条key,ktpass这个命令行工具承担着这样一个角色,它能够将非windows kerberos服务配置一个service principal,通常类似于,并且同时生成一个keytbab,这样做的目的是在windows域中的kdc和非windows的服务(kerberos service)建立一种安全的信任关系,keytab文件中就是存放着那条非常重要的跟kdc打交道的secret key。

你更改了keytab中的key,就必须同时更改kerberos database中的key。操作keytab,jdk提供了一个很好的工具叫做ktab。


首先,在windows域控制器上创建一个用户tomcat2005, 这是一个windows的用户,我们使用ktpass将一个kerberos service (到这个用户上面。ktpass会修改当前用户在windows ad中的用户登录名,你可以用setspn -l tomcat2005来查看究竟有多少service principal绑定到tomcat2005上。


c:\>ktpass -princ   -mapuser tomcat2005 -pass tomcat2005 -out tomcat2005_keytab -crypto des-cbc-md5
successfully mapped http/tomcat to tomcat2005.
key created.
output keytab to tomcat2005_keytab:

keytab version: 0x502
keysize 50 ptype 1 (krb5_nt_principal) vno 1 etype 0x3 (des-cbc-md5) keylength 8 (0xb64540dace6e70d3)
account has been set for des-only encryption.


接着,执行,目的是往keytab上面增加新的service principal。
c:\>ktab -k tomcat2005_keytab -a
password for
done!
service key for is saved in c:\\tomcat2005_keytab

你可能问,ktpass和ktab都往keytab文件两面写key,其实,他们都是写同样的key,只不过ktpass还有一个ad帐号set spn name的作用。

还可以通过ktab -l -k tomcat2005_keytab, 来看看里面究竟有针对什么service的key

c:\>ktab -l -k tomcat2005_keytab
keytab name: c:\\tomcat2005_keytab
kvno    principal
--------------------------------
  4    

kvno是service key的更新序号,不需要理会,关键的是principal。

posted on 2005-12-02 00:48 david.turing 阅读(6207) 评论(1)     所属分类: security领域

# re: ktpass和ktab的主要用法[未登录] 2016-08-05 16:49

我想请教一下,怎么查看keytab文件中的key啊。  回复     

导航

统计

常用链接

留言簿(109)

我参与的团队

随笔分类(126)

随笔档案(155)

文章分类(9)

文章档案(19)

相册

搜索

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜

网站地图