2012-03-24 88 views
4

我正在做一个涉及认证的项目,我无法完全理解SASL和gssapi之间的区别。 gssapi是在SASL的封面下使用的吗?我可以在没有SASL的情况下使用gssapi吗?什么是正确的做法?SASL与gssapi

如果我使用libsasl,我需要链接libgssapi_ *吗?

谢谢。

回答

3

SASL和gssapi基本上以不同的方式解决同样的问题。这两种方法都可以找到在两个系统之间使用的最佳通用身份验证方法。

所以,不,GSSAPI不SASL引擎盖下使用,除非你使用类似RFC4752

是的,你可以使用GSSAPI SASL没有,这样的例子将是典型的Linux机器登录到Windows AD域通过kerberos/gssapi提供商。

这一切都取决于您必须实施哪种身份验证方案,SASL和gssapi都有其用途。 GSSAPI最常用于Kerberos系统。

+1

感谢您的回答。哪两个更经常使用?一个人比另一个人更喜欢吗?在你的例子中,当linux与AD交谈时,SASL是“正确的”答案还是gssapi? – 2012-03-24 19:27:40

+0

这取决于。 SASL确实比较新,当使用Kerberos的SASL时,它工作得很好。 Linux与AD交谈的实际答案通常只是'使用SAMBA',因为他们做了很多逆向工程来使所有工作都成功。这实际上取决于你的用例,例如对于HTTP,你可以使用SASL或GSSAPI,或者两者兼而有之,对于HTTP来说,由于额外往返使用SASL通常会很愚蠢,所以你会使用更接近gssapi的SPNEGO,等等,取决于你的用例。 – schlenk 2012-03-24 19:44:54

+0

在少量AD交互的环境中,您似乎认为SASL是最佳选择。我读了这个吗? (我没有任何先入为主的SASL,SPNEGO,gssapi是对还是错的概念,我只是想找出一个追求的方向。) – 2012-03-24 20:23:18