我在云上有一个活动目录。在我们的网络应用程序中,我们使用LDAP。现在我们正在讨论为我们的企业构建移动应用程序。我搜索了LDAP客户端SDK,并获得了Java的UnboundId ldap sdk。我看到了一些例子,但我无法弄清楚使用这个sdk是多么安全。它提供的所有认证措施是什么?可以使用哪些加密技术?我可以使用哪种其他API或sdk哪种更安全可靠?
请帮忙。 提前谢谢。
答案 0 :(得分:0)
UnboundID LDAP SDK for Java支持LDAP简单身份验证,以及许多SASL机制,包括ANONYMOUS,CRAM-MD5,DIGEST-MD5,EXTERNAL,GSSAPI和PLAIN。基本上,查看com.unboundid.ldap.sdk.BindRequest的子类,其中许多都有演示其用法的示例。
但是既然你提到你正在构建一个移动应用程序,重要的是要注意Android上不支持CRAM-MD5,DIGEST-MD5和GSSAPI,因为它们依赖于Java SE功能。 Android的Java实现。
对于支持的加密方法,LDAP SDK支持使用SSL / TLS加密所有通信,以及通过StartTLS扩展操作保护现有的未加密连接。如果您正在使用DIGEST-MD5或GSSAPI身份验证并且服务器支持它,那么您也可以使用SASL完整性或机密性QoP机制。
此外,CRAM-MD5,DIGEST-MD5和GSSAPI允许您通过不安全的连接进行身份验证,而无需泄露凭据,因为它们提供了自己的机制来保护飞行中的凭据。但是,我可能会建议使用保护所有通信的机制,因为绑定凭据可能不是可能通过LDAP发送的唯一类型的敏感信息,并且这些机制在绑定之外使用时也不支持保护凭据(例如,在更改密码或在搜索结果条目中检索密码时。)