Ktab 命令多次列出 keytab 文件中的主体

Kum*_*mar 5 java security kerberos

这可能是一个愚蠢的问题,但我想知道为什么会发生......

我有一个用于 kerberos 身份验证的密钥表文件。我想使用 ktab 命令列出 keytab 文件中包含的 kvno 和主体名称。假设我的密钥表文件是 kumar.keytab

ktab -l -k kumar.keytab
Run Code Online (Sandbox Code Playgroud)

执行上述命令时,会显示kvno和principal 5次。

Keytab name: kumar.keytab
KVNO Principal
---- ----------------------------
3 Kumar/hostname@KUMAR.COM
3 Kumar/hostname@KUMAR.COM
3 Kumar/hostname@KUMAR.COM
3 Kumar/hostname@KUMAR.COM
3 Kumar/hostname@KUMAR.COM
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么它显示相同的值 5 次?

帮助将不胜感激。

谢谢,

Con*_*ger 5

使用 Java 的 ktab,您可以指定“-e”和“-t”参数,让它显示加密类型和时​​间戳。“-help”参数将显示更多信息。

C:\Users\test>ktab -l -e -t
Keytab name: C:\Users\test\krb5.keytab
KVNO Timestamp      Principal
---- -------------- ---------------------------------------------------
   4 25/05/17 07:56 test@TEST.COM (17:AES128 CTS mode with HMAC SHA1-96)
   4 25/05/17 07:56 test@TEST.COM (16:DES3 CBC mode with SHA1-KD)
   4 25/05/17 07:56 test@TEST.COM (23:RC4 with HMAC)
Run Code Online (Sandbox Code Playgroud)


Fre*_*Dog 3

我的经验是,java kerberos 工具通常不完整和/或损坏。如果您使用 MIT 或 Heimdal 库中的 kerberos 工具,您将确切地看到这 4 个版本是什么。

例如,使用ktutil listHeimdal Kerberos 库中的命令,您将获得:

FILE:/etc/krb5.keytab:

Vno  Type                     Principal          Aliases
  6  aes256-cts-hmac-sha1-96 host/test.com@TEST.COM 
  6  arcfour-hmac-md5        host/test.com@TEST.COM 
Run Code Online (Sandbox Code Playgroud)

密钥表包含每个密钥版本号、加密类型和主体名称的条目。所有这三者都必须达成一致,kerberos 协议才能发挥作用。Kerberos 支持多种加密类型,协议的一部分是协商使用哪种加密类型。这使得较新版本的软件可以支持没有所有最新加密的旧客户端。