Ktpass和KTab的主要用法

不少人都没搞清楚Ktpass跟Ktab的用法,特此写一篇文章来叙说一下。
我假设你对Kerberos有所认识,可以读我的一篇文章<Weblogic Security In Action>中篇,里面初步介绍了Kerberos协议(基于Windows KDC)。
在Kerberos中,安全性完全是依赖于Share Secret,也就是,KDC跟Kerberos Service之间都共享着一条Key,Ktpass这个命令行工具承担着这样一个角色,它能够将非Windows Kerberos服务配置一个Service Principal,通常类似于HTTP/Service@DomainName,并且同时生成一个Keytbab,这样做的目的是在Windows域中的KDC和非Windows的服务(Kerberos Service)建立一种安全的信任关系,Keytab文件中就是存放着那条非常重要的跟KDC打交道的Secret Key。

你更改了Keytab中的Key,就必须同时更改Kerberos database中的Key。操作Keytab,JDK提供了一个很好的工具叫做KTab。


首先,在Windows域控制器上创建一个用户tomcat2005, 这是一个Windows的用户,我们使用Ktpass将一个Kerberos service (HTTP/tomcat@MYDAVID.ORG)Mapping到这个用户上面。Ktpass会修改当前用户在Windows AD中的用户登录名,你可以用setspn -L tomcat2005来查看究竟有多少Service Principal绑定到tomcat2005上。


C:\>ktpass -princ HTTP/tomcat@MYDAVID.ORG  -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 HTTP/tomcat@MYDAVID.ORG 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 HTTP/tomcat@MYDAVID.ORG
Password for HTTP/tomcat@MYDAVID.ORG:tomcat2005
Done!
Service key for HTTP/tomcat@MYDAVID.ORG 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     HTTP/tomcat@MYDAVID.ORG

KVNO是Service Key的更新序号,不需要理会,关键的是Principal。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windouws 64 位Tomcat7.0.40 + 64位jdk1.7.0u21 绿色版 part1 纯绿色,官方下载,绝对可用~ 欢迎评论吐槽~ 文件 PATH 列表 │ LICENSE │ NOTICE │ RELEASE-NOTES │ RUNNING.txt │ ├─bin │ bootstrap.jar │ catalina-tasks.xml │ catalina.bat │ catalina.sh │ commons-daemon-native.tar.gz │ commons-daemon.jar │ configtest.bat │ configtest.sh │ cpappend.bat │ daemon.sh │ digest.bat │ digest.sh │ service.bat │ setclasspath.bat │ setclasspath.sh │ shutdown.bat │ shutdown.sh │ startup.bat │ startup.sh │ tcnative-1.dll │ tomcat-juli.jar │ tomcat-native.tar.gz │ tomcat7.exe │ tomcat7w.exe │ tool-wrapper.bat │ tool-wrapper.sh │ version.bat │ version.sh │ ├─conf │ │ catalina.policy │ │ catalina.properties │ │ context.xml │ │ context.xml.bak │ │ logging.properties │ │ server.xml │ │ server.xml.bak │ │ tomcat-users.xml │ │ web.xml │ │ │ └─Catalina │ └─localhost ├─jdk1.7.0_21 │ │ COPYRIGHT │ │ LICENSE │ │ README.html │ │ release │ │ src.zip │ │ THIRDPARTYLICENSEREADME-JAVAFX.txt │ │ THIRDPARTYLICENSEREADME.txt │ │ │ ├─bin │ │ appletviewer.exe │ │ apt.exe │ │ extcheck.exe │ │ idlj.exe │ │ jabswitch.exe │ │ jar.exe │ │ jarsigner.exe │ │ java-rmi.exe │ │ java.exe │ │ javac.exe │ │ javadoc.exe │ │ javafxpackager.exe │ │ javah.exe │ │ javap.exe │ │ javaw.exe │ │ javaws.exe │ │ jcmd.exe │ │ jconsole.exe │ │ jdb.exe │ │ jhat.exe │ │ jinfo.exe │ │ jli.dll │ │ jmap.exe │ │ jps.exe │ │ jrunscript.exe │ │ jsadebugd.exe │ │ jstack.exe │ │ jstat.exe │ │ jstatd.exe │ │ jvisualvm.exe │ │ keytool.exe │ │ kinit.exe │ │ klist.exe │ │ ktab.exe │ │ msvcr100.dll │ │ native2ascii.exe │ │ orbd.exe │ │ pack200.exe │ │ policy

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值