小编jcl*_*lum的帖子

我可以在Java中以编程方式生成自己的keytab吗?

我想知道是否有一种方法可以在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库获取密钥表?

java kerberos apacheds

8
推荐指数
1
解决办法
3564
查看次数

标签 统计

apacheds ×1

java ×1

kerberos ×1