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