显然,在安装了“RSA Authentication Agent”的Windows计算机上,可以利用它来提供身份验证服务。似乎有一些文档/ SDK用于执行此操作。似乎可以静态链接此功能,或通过调用从“aceclnt.dll”导出的某些函数动态加载它。
但是,由于RSA的网站已移至emc.com,因此旧网站的所有链接均已失效。我无法在新网站上找到任何文档。请帮帮我google吧!
我们可以通过PAM在UNIX / Linux上的应用程序中轻松使用SecurID身份验证。它只在Windows上我们需要使用一些特殊的SecurID API来查询是否接受/拒绝凭证。
答案 0 :(得分:5)
这不是一件容易的事情,特别是使用C SDK,您将与aceclnt.dll
一起使用。许多API调用都是异步的,这意味着您必须调用并轮询答案。大多数/所有流量都是加密的,Wireshark几乎没有帮助。
但是要获取文件,我必须有一个支持帐户(我有一个并用它来确认RSA)。
从RSA Authentication Agent API 8.1 SP2 for C发行说明:
C的RSA身份验证代理应用程序编程接口(API)使开发人员能够将RSA SecurID集成到自定义或第三方应用程序中。该API可在https://knowledge.rsasecurity.com的RSA SecurCare Online上下载,作为.tar和.zip文件。
C SDK的确切网址为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。
发布文件会导致我的支持帐户无效,但其他人有posted sample code。它在Python中,但Java和C#对象名称是相同的。
您的服务器可以是RADIUS客户端。将RADIUS client library集成到您的代码中,并将PIN和令牌代码发送到SecurID服务器。它会进行验证。作为奖励,您将准备支持其他基于RADIUS的身份验证服务。
请注意,您将验证PIN和令牌代码。在大多数/所有配置中,PIN将与Windows密码不同。
您必须使用该信息调用SecurID服务器,因为无法确定哪个部分是引脚,哪个部分是令牌代码。令牌码不总是6位数,PIN也可以是数字。或者用户还没有设置PIN等等。
您也可以支持RADIUS中的通用来回机制。它将用于提示用户输入下一个令牌代码,更改其PIN等。作为RADIUS客户端的服务器将从客户端到服务器来回移动信息,直到满意为止。然后,您可以考虑完成身份验证您可以使用NTRadPing进行测试。
答案 1 :(得分:0)
三年后,答案发生了变化:文档可以在RSA网站上免费下载!
https://community.rsa.com/docs/DOC-36840
如果没有任何支持合同,您现在可以下载并阅读“Authentication Agent API 8.1.1 for C Developers Guide”。