我想知道是否有一种方法可以在java中生成我自己的keytab而无需转到kdc?我在ApachDS测试中发现了类似的代码:
Keytab keytab = Keytab.getInstance();
KerberosTime timeStamp = new KerberosTime(KerberosUtils.UTC_DATE_FORMAT.parse("20070217235745Z"));
Map<EncryptionType, EncryptionKey> keys = KerberosKeyFactory
.getKerberosKeys(principalName, userPassword);
KeytabEntry keytabEntry = new KeytabEntry(
principalName,
1L,
timeStamp,
(byte) 0,
keys.get(EncryptionType.DES_CBC_MD5));
List<KeytabEntry> entry = Arrays.asList(keytabEntry);
keytab.setEntries(entry);
keytab.write(keytabFile);
return keytabFile;
Run Code Online (Sandbox Code Playgroud)
我能够在我创建的keytab上创建一个klist:
Vno类型主要日期别名
0 des-cbc-md5 ssh/localhost@EXAMPLE.COM 2007-02-17
此外,如果这不可能,有没有办法以编程方式使用ApacheDS或任何其他Java库获取密钥表?