2012-12-18 123 views
3

我使用Kerberos身份驗證登錄到ActiveDirectory。我正在用GSSAPI來做。在沒有krb5.conf的情況下配置Kerberos

目前,我使用的是krb5.conf文件,它描述了領域,加密標準等等,身份驗證工作正常。

我想避免使用此文件。我可以以編程方式配置Kerberos,而不使用此文件?

謝謝。

回答

2

你可以嘗試只配置兩個系統屬性:

java.security.krb5.kdc 
java.security.krb5.realm 

請注意,如果您使用的是JDK的Kerberos的原生支持,你不能以編程方式配置任何超出此。

如果您正在爲Windows編碼,我會熱烈推薦使用WAFFLE實現無縫Single Sign-On。不過,它沒有GSS-API適配器。我寫了自己的,但只是因爲系統的其他部分已經依賴它。您可以輕鬆地跳過GSS-API並直接針對WAFFLE進行編程。

+0

嗨,謝謝!我不確定這些屬性是否足夠。那加密算法呢? – Matan

+0

只需嘗試一下,看看默認值是否足夠好。在我的設置中,我發現默認設置令人滿意。 –

+0

我知道我不能使用默認值,因爲不支持加密算法。 – Matan

0

如果您只想避免系統範圍的krb5.conf,您可以在程序中的任何名稱(例如,在您的主目錄)中創建它並通過設置Java系統屬性java來使用它。 security.krb5.conf到完整路徑。我相信在調用任何與Kerberos相關的代碼之前,必須完成此操作。

0

[從麻省理工學院的官方文件: https://web.mit.edu/kerberos/krb5-latest/doc/admin/index.html]

看來我們可能沒有官方的方法來配置Kerberos沒有在krb5.conf,甚至無視keytabs的某些部分(它們被定義爲自動獲取在TGS狀態,但有時候事情會變得有線)將導致致命的錯誤。

相關問題