Tôi đã tự hỏi nếu có một cách để tạo keytab của riêng tôi trong java mà không cần đi đến kdc? Tôi tìm thấy mã tương tự như sau trong một thử nghiệm ApachDS:Tôi có thể tạo keytab của riêng mình lập trình bằng Java không?
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;
Tôi có thể một klist trên keytab mà tôi tạo ra:
VNO Loại ngày Principal biệt hiệu
0 des-cbc- md5 ssh/[email protected] 2007-02-17
Ngoài ra, nếu điều này là không thể, có cách nào để lập trình lấy keytab bằng ApacheDS hoặc bất kỳ thư viện java nào khác không?