【问题标题】:What programs use GSS-API? Any decent sample programs?哪些程序使用 GSS-API?有没有像样的示例程序?
【发布时间】:2009-12-11 01:30:00
【问题描述】:

我以为我想使用 GSS-API,但现在不太确定,因为我很难为一个微不足道的客户端/服务器对找到好的示例代码。 Sun 有documentation including sample code,但它是专门为他们的 GSS API 实现编写的,使用了一些专有功能,例如GNU GSS-API(我还不清楚如何针对 GNU 实现重新实现它们)。另外,它是用 pre-ANSI C 编写的,带有 K&R 函数声明等(我在转换声明时没有问题,但它确实让我认为 Sun 示例代码可能太旧以至于无关紧要)。

在过去十年中,您是否在应用程序中使用过 GSS-API?您知道一些包含示例程序的独立教程值得一读吗?

或者,也许我走错了路,应该改用 SASL。 GNU GSS-API 作者本人suggests as much

不管怎样,我在 Linux 上使用 GCC,并且已经为其他目的设置了 Kerberos。

【问题讨论】:

    标签: c kerberos sasl gssapi


    【解决方案1】:

    是的,您绝对应该使用 SASL 而不是 GSSAPI。这是一个更好的支持协议,并且库非常好。至少,您可以将其视为 GSSAPI 上的健全性包装器,因为这是为 SASL 实现的典型插件之一。您应该考虑直接使用 GSSAPI 的唯一原因是实现 SASL 库。但不要那样做。 :)

    SASL 也有广泛的用途。它被指定为 IMAP 和 XMPP 的一部分。

    您是否正在通过 TCP 实现一些自定义协议?

    【讨论】:

    • 我已经有一个基于 TCP(和其他传输)的自定义协议。我想为其添加身份验证。
    • 是的,SASL 可以正常工作。你只需要在你的协议中定义一些机制来交换 SASL 信息,就可以了。请注意,SASL 并不真正提供加密,通常您先执行 TLS,然后执行 SASL。
    【解决方案2】:

    Sun 在其 Java 代码中使用 GSSAPI。你可以在这里找到更多关于它的信息:

    Equivalent of 'gss_import_name' and 'gss_init_sec_context' methods in java?

    您可能还想看看 OpenJDK 人员完成的代码实现:

    http://www.docjar.org/docs/api/sun/security/jgss/GSSContextImpl.html

    他们发布了一个用 Java 编写的 GSSAPI 的完整工作示例。

    授予

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 2014-04-01
      • 2016-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多