5

显然,在安装了“RSA 身份验证代理”的 Windows 机器上,可以利用它来提供身份验证服务。似乎有一些文档/ SDK可以做到这一点。似乎可以静态链接此功能,或通过调用从“aceclnt.dll”导出的一些函数来动态加载它。

但是,由于 RSA 的网站已移至 emc.com,所有指向旧网站的链接都已失效。我在新网站的任何地方都找不到文档。请帮我谷歌这个!

我们可以通过 PAM 在 UNIX/Linux 上的应用程序中轻松使用 SecurID 身份验证。只有在 Windows 上,我们需要使用一些特殊的 SecurID API 来查询是否接受/拒绝凭据。

4

2 回答 2

6

如果您有支持帐户...

这不是那么简单,尤其是使用 C SDK,您将与aceclnt.dll. 许多 API 调用是异步的,这意味着您必须调用并轮询答案。大多数/所有流量都是加密的,Wireshark 帮助不大。

但是要获取文件,我必须有一个支持帐户(我有一个并用它与 RSA 确认)。

来自 RSA Authentication Agent API 8.1 SP2 for C 发行说明:

C 的 RSA Authentication Agent 应用程序编程接口 (API) 使开发人员能够将 RSA SecurID 集成到自定义或第三方应用程序中。该 API 可在 RSA SecurCare Online 上以 .tar 和 .zip 文件的形式下载,网址为https://knowledge.rsasecurity.com 。

C SDK 的确切 URL 是https://knowledge.rsasecurity.com/scolcms/set.aspx?id=8635

从 Authentication Manager 7.1 开始,有一个新的 Java、Python 和 C# API。使用起来容易得多。我已成功使用 Java 版本进行令牌管理和用户身份验证。

Authentication Manager SDK Python、Java 和 C# SDK 的 URL 是https://knowledge.rsasecurity.com/scolcms/set.aspx?id=8205

发布这些文件会使我的支持帐户失效,但其他人已经发布了示例代码。它在 Python 中,但 Java 和 C# 对象名称相同。

其他尝试:RADIUS

您的服务器可以是 RADIUS 客户端。将RADIUS 客户端库集成到您的代码中,并将 PIN 和令牌代码发送到 SecurID 服务器。它将进行验证。作为奖励,您将准备好支持其他基于 RADIUS 的身份验证服务。

请记住,您将验证 PIN 和令牌代码。在大多数/所有配置中,PIN 将不同于 Windows 密码。

您必须使用该信息调用 SecurID 服务器,因为无法分辨哪个部分是 pin,哪个部分是令牌代码。令牌代码并不总是 6 位数字,PIN 也可以是数字。或者用户可能还没有设置 PIN,等等。

您也可以支持 RADIUS 中的通用来回机制。它将用于提示用户输入他的下一个令牌代码、更改他的 PIN 等。作为 RADIUS 客户端的服务器将在客户端和服务器之间来回移动信息,直到满意为止。然后,您可以认为身份验证已完成。您可以使用NTRadPing进行测试。

于 2012-09-18T15:15:56.003 回答
0

三年后,答案发生了变化:文档可在 RSA 的网站上免费下载!

https://community.rsa.com/docs/DOC-36840

在没有任何支持合同的情况下,您现在可以下载并阅读“Authentication Agent API 8.1.1 for C Developers Guide”。

于 2017-03-02T16:08:33.533 回答