ktpass 命令“警告:Windows(277)使用的密钥版本太大。”

ktpass 命令“警告:Windows(277)使用的密钥版本太大。”

我正在尝试为服务帐户创建密钥表,几天前它运行良好,当我回来运行它时,我收到一条警告消息,我想知道原因是什么以及如何解决它:

ktpass  -princ  http/[email protected] `
        -mapuser u985test `
        -crypto AES256-SHA1 `
        -ptype KRB5_NT_PRINCIPAL `
        -pass P4ssw0rd234 `
        -out $keytabFile

我得到了

WARNING: The Key version used by Windows (277) is too big
to be encoded in a keytab without truncating it to 21.
This is due to a limitation of the keytab file format
and may lead to interoperability issues.
Do you want to proceed and truncate the version number

答案1

密钥版本号 (KVNO) 基本上在密码更改时递增,并有助于在数据不匹配时捕获不同步的数据。导出的文件格式将其限制为一个字节,因此导出时会忽略高位。这不会造成问题,因为 256 次密码更改前的数据应该早已消失,但可能会在极端情况下造成问题,因此会发出警告。

277 = ‭0001 0001 0101‬
21  =      0001 0101

一些参考信息:https://blogs.msdn.microsoft.com/openspecification/2009/11/13/to-kvno-or-not-to-kvno-what-is-the-version/

答案2

感谢@Brian的回答,我终于搞明白了。我应该证明-kvno参数的合理性

ktpass  -princ  http/[email protected] `
        -mapuser u985test `
        -crypto AES256-SHA1 `
        -ptype KRB5_NT_PRINCIPAL `
        -kvno 1 `
        -pass P4ssw0rd234 `
        -out $keytabFile

问题解决了!

相关内容