【问题标题】:Configure kerberos without krb5.conf在没有 krb5.conf 的情况下配置 kerberos
【发布时间】:2012-12-18 11:19:19
【问题描述】:

我正在使用 kerberos 身份验证登录 ActiveDirectory。我正在使用 GSSAPI。

目前,我正在使用 krb5.conf 文件,该文件描述了领域、加密算法等,并且身份验证工作正常。

我想避免使用这个文件。我可以在不使用此文件的情况下以编程方式配置 kerberos 吗?

谢谢。

【问题讨论】:

    标签: java security kerberos ntlm gssapi


    【解决方案1】:

    您可以尝试只配置两个系统属性:

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

    请注意,如果您使用 JDK 对 Kerberos 的本机支持,则无法以编程方式配置除此之外的任何内容。

    如果您正在为 Windows 编写代码,我强烈建议您使用 WAFFLE 来实现无缝单点登录。不过,它没有 GSS-API 适配器。我自己写了,但这只是因为系统的其余部分已经依赖它了。您可以轻松跳过 GSS-API 并直接针对 WAFFLE 进行编程。

    【讨论】:

    • 您好,谢谢!我不确定这些属性是否足够。加密算法呢?
    • 试一试,看看默认值是否足够好。在我的设置中,我发现默认设置令人满意。
    • 我知道我不能使用默认值,因为不支持加密算法。
    • 你的意思是你的目标服务器不支持服务票证的加密算法?因为我认为即使是较旧的 Java 版本也支持所有相关算法。
    • 是的,我希望能够配置的不仅仅是 kdc 和领域(例如 - 默认域)。
    【解决方案2】:

    如果您只想避免使用系统范围的 krb5.conf,您可以在程序中使用任何名称(例如,在您的主目录)中创建它,并通过设置 Java 系统属性 java.security 来使用它.krb5.conf 到它的完整路径。我相信这必须在您调用任何与 Kerberos 相关的代码之前完成。

    【讨论】:

      【解决方案3】:

      [来自 MIT 官方文档: https://web.mit.edu/kerberos/krb5-latest/doc/admin/index.html]

      似乎我们可能没有官方的方法来配置没有 krb5.conf 的 Kerberos,即使忽略 keytabs 的某些部分(它们被定义为在 TGS 状态下自动获取,但有时事情正在连接)会导致致命错误。

      【讨论】:

        猜你喜欢
        • 2010-11-28
        • 2023-03-08
        • 2017-12-02
        • 1970-01-01
        • 2011-09-13
        • 2019-10-31
        • 2023-03-06
        • 1970-01-01
        • 2014-01-20
        相关资源
        最近更新 更多