我想des
从下面的主体中删除所有密钥,但不知道如何在没有人输入密码的情况下执行此操作。
kadmin: getprinc user
Principal: [email protected]
Expiration date: [never]
Last password change: Thu May 26 08:52:51 PDT 2013
Password expiration date: [none]
Maximum ticket life: 0 days 12:00:00
Maximum renewable life: 7 days 00:00:00
Last modified: Tue Jul 16 15:17:18 PDT 2013 (administrator/[email protected])
Last successful authentication: Wed Jul 24 14:40:53 PDT 2013
Last failed authentication: [never]
Failed password attempts: 0
Number of keys: 8
Key: vno 3, aes256-cts-hmac-sha1-96, no salt
Key: vno 3, arcfour-hmac, no salt
Key: vno 3, des3-cbc-sha1, no salt
Key: vno 3, des-cbc-crc, no salt
Key: vno 3, des-cbc-md5, no salt
Key: vno 3, des-cbc-md5, Version 5 - No Realm
Key: vno 3, des-cbc-md5, Version 5 - Realm Only
Key: vno 3, des-cbc-md5, AFS version 3
MKey: vno 2
Attributes: REQUIRES_PRE_AUTH
Policy: [none]
此外,kdc
正在使用OpenLDAP
后端。
答案1
我认为使用 MIT kerberos 代码没有任何简单的方法可以做到这一点。使用 heimdal 很容易,因为 del_enctype 是 kadmin 命令之一。
据我所知,使用标准 MIT 执行此操作的唯一方法是转储 kdc 数据库,删除有问题的密钥类型并重新加载数据库。由于您的后端存储是 OpenLdap,如果您有权访问 ldap 服务器的根 dn,您可能能够在 ldap 数据库中找到各个键值并将其删除。
架构在此处列出
http://k5wiki.kerberos.org/wiki/Kerberos.schema
我不清楚是否有可能在不使用主密钥解密的情况下找出它的加密类型。
attributetype ( 2.16.840.1.113719.1.301.4.39.1
NAME 'krbPrincipalKey'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40)