2014-07-16 29 views
0

我有machineA和machineB。 從machineA開始,我使用Java模塊KerberosTicket來獲取登錄用戶的憑證。例如如何在另一臺機器上使用Kerberos票證

.... 
KerberosTicket ticket = (KerberosTicket)privatePrincipal; 
return ticket.getEncoded(); 
.... 

然後我把機票交給machineB。我如何使用Java來驗證此票證是否屬於有效用戶/主體?有沒有示例代碼來做到這一點?

我有搜索網絡似乎使用JAAS是一種方法。這意味着我不知何故必須從ticket.getEncoded()創建一個krb5cc文件並將其作爲USeTicketCache的參數傳遞。但是,是否有其他替代方法,而無需創建物理文件?

有沒有辦法檢索票內存儲的「密碼」? 謝謝

+0

似乎你錯過了對kerberos如何工作的基本瞭解。票中沒有密碼,甚至沒有任何東西像基本kerberos票的密碼。也許這是一個語言問題,但我甚至無法確定從哪裏開始嘗試回答你的問題。如果您正確使用API​​,則不必擔心任何此類問題。 –

回答

0

我不是JAAS精通的,但是對krb5協議有很好的理解,沒有辦法從kerberos票證(TGT)中檢索密碼,因爲庫內部的密碼是string2key()然後驗證用戶憑據並對其進行緩存。此外,如果您的密碼可從krb5票據中獲取,則其在線路上不再安全。

相關問題