2012-12-18 45 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状态,但有时候事情会变得有线)将导致致命的错误。

相关问题