赛孚耐ikey-1000整合到web的方案

上传人:鲁** 文档编号:476226218 上传时间:2022-11-11 格式:DOCX 页数:5 大小:75.08KB
返回 下载 相关 举报
赛孚耐ikey-1000整合到web的方案_第1页
第1页 / 共5页
赛孚耐ikey-1000整合到web的方案_第2页
第2页 / 共5页
赛孚耐ikey-1000整合到web的方案_第3页
第3页 / 共5页
赛孚耐ikey-1000整合到web的方案_第4页
第4页 / 共5页
赛孚耐ikey-1000整合到web的方案_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《赛孚耐ikey-1000整合到web的方案》由会员分享,可在线阅读,更多相关《赛孚耐ikey-1000整合到web的方案(5页珍藏版)》请在金锄头文库上搜索。

1、赛孚耐iKey 1000网站登录方案说明1. 运用iKey 1000进行网站登录iKey 1000是全球市场占有率最高的身份认证令牌产品。将iKey 1000与各种应用相结合,将为用户供应平安、牢靠、简洁、便利的身份认证和登录体验。2. 方案的过程客户端控件口令密钥文件用户名文件iKey 1000用户数据库服务端控件服务器1发送挑战数据2返回签名结果和用户名首先,认证网页生成一个挑战数据(随机数)并传给客户端。客户端控件会找寻客户的计算机上是否有iKey 1000硬件,并试图打开用户名文件和用户口令密钥文件。当这些操作都胜利后,客户端控件会运用用户口令密钥文件对挑战数据签名,并将签名结果连同用

2、户名一起发还给认证服务器。当认证服务器收到返回数据,首先会在用户数据库中找寻是否有相同用户名的用户存在,假如存在则取出对应的用户口令,以它为密钥,调用服务端控件的HMAC-MD5签名算法对原始的挑战数据进行签名。最终,服务器将比较由客户处传回的签名数据与服务器自己产生的签名数据是否相同。假如相同则意味着用户数据库中存储的用户口令与iKey 1000硬件内存储的用户口令完全相同,该用户是合法用户;否则无法通过认证。3. 方案的组成在新的认证方式中,开发商须要用到iKey 1000初始化工具、客户端控件、服务端控件以及iKey 1000的客户端安装包。以下进行分别的说明。a) iKey 1000初

3、始化工具在方案附带的InitTool书目下,包含了一个VC6的工程源文件。并且在Release子书目下包含一个编译好的InitTool.Exe可执行文件。这个工程可以实现对iKey 1000的初始化。b) iKey 1000客户端控件iKey 1000的客户端控件是一个经过签名的ActiveX形式的COM控件,它的文件名是iKeyClient.dl。客户端控件与初始化工具相对应,向网页开发者供应了一组可以利用iKey 1000内部的用户名文件和用户口令文件进行身份认证的函数接口。iKey 1000客户端控件的CLSID为“2669C745-AF54-4B50-B97C-7683123FEBA2

4、”,并能够响应iKey 1000的硬件插拨消息。下面对iKey 1000客户端控件的全部的接口函数进行说明:l HRESULT Open()说明:打开目前系统中的第一个iKey 1000设备。iKey 1000不支持多个设备共存,在这种状况下,只有第一个找到的设备会被打开。JavsScript调用示例:iKeyClient.Open();注:这里的iKeyClient是网页内定义的iKey 1000客户端控件的名称(ID),开发中应依据实际命名进行变更。下同。l HRESULT Close()说明:关闭打开的iKey 1000设备。并不要求必需调用此函数来并闭设备。在iKey 1000客户端控

5、件关闭时,打开的设备会自动关闭。JavsScript调用示例:iKeyClient.Close();l HRESULT VerifyPin(inBSTR strPin)说明:校验iKey 1000的用户PIN码。输入数据:strPin:用户PIN字符串JavsScript调用示例:iKeyClient.VerifyPin (PIN);l HRESULT ChangeDirByName(inBSTR strDirName)说明:变更iKey 1000文件系统的当前书目。iKey 1000内部存在着一个简洁的文件系统,默认地,在iKey 1000刚刚插入计算机时,其当前书目指向根书目。运用本函数可

6、以变更当前书目至所需的书目。运用InitTool初始化的iKey 1000,文件存储在“Web Office”书目下。输入数据:strDirName:要变更的目标书目名字符串JavsScript调用示例:iKeyClient.ChangeDirByName (NEWDIRNAME);l HRESULT GetUsername(inULONG ulFileID, out, retvalBSTR * pUsername)说明:获得iKey 1000硬件内的对应数据文件所存储的用户名字符串。运用InitTool初始化的用户名数据文件的文件ID为2。留意,假如开发商将用户名文件存储在特别的书目下,调用

7、这个函数前必需首先调用ChangeDirByName函数变更当前书目至文件存储书目。输入数据:ulFileID:存储用户名的数据文件的文件ID返回数据:取得的用户名字符串JavsScript调用示例:USERNAME = iKeyClient.GetUsername(2);l HRESULT Authenticate(inULONG ulFID1, inULONG ulFID2, inBSTR pDigest, out, retvalBSTR * pResult)说明:对打开的iKey 1000进行认证,即运用用户口令密钥文件对输入字符串进行签名。要留意的是,用户口令经过转换后将会存储在两个密

8、钥文件中,本函数必需同时输入这两个文件的ID。运用InitTool初始化的用户口令密钥文件的文件ID分别为3和4。留意,假如开发商将用户口令文件存储在特别的书目下,调用这个函数前必需首先调用ChangeDirByName函数变更当前书目至文件存储书目。输入数据:ulFID1:存储用户口令密钥文件第一部分的文件IDulFID2:存储用户口令密钥文件其次部分的文件IDpDigest:要进行签名的数据字符串。即从服务器端发出的挑战数据返回数据:产生的签名结果串JavsScript调用示例:RESULT = iKeyClient.Authenticate(3, 4, CHALLENGE);l HRES

9、ULT CheckToken(out, retval VARIANT_BOOL * haveToken)说明:推断当前系统中是否插有iKey 1000硬件。返回数据:假如找到硬件,返回true;否则返回falseJavsScript调用示例:RESULT = iKeyClient.CheckToken();c) iKey 1000客户端检查控件要在客户的计算机上操作iKey 1000硬件,须要首先安装硬件驱动程序及基础运行库。因此一个网页要运用iKey 1000进行身份认证之前,首先要做的应当是检查客户端是否安装了驱动及基础运行库。进行这个检查工作的是客户端检查控件。iKey 1000的客户端

10、检查控件同样是一个经过签名的ActiveX形式的COM控件,其文件名是ikChkClient.dll。客户端检查控件的CLSID为“0C9D30AB-1840-463F-BD45-E4BB5AAD4342”。iKey 1000客户端检查控件只包含一个用于检查客户端是否存在的接口。其说明如下:l HRESULT CheckClient(out, retval VARIANT_BOOL * haveClient)说明:推断当前系统是否安装过iKey 1000硬件驱动及其它基础运行库。返回数据:假如发觉已经安装,返回true;否则返回falseJavsScript调用示例:RESULT = iKey

11、Client.CheckClient();d) iKey 1000服务端控件iKey 1000的服务端控件运行在认证服务器上,是一个COM控件,用于完成服务器端的MD5签名运算。其文件名是iKeyMd5.dll。服务端控件的ProgID是iKeyMd5.crypt,在网页上,可以这样对它进行定义:set iKeyServer = Server.CreateObject( iKeyMd5.crypt )服务端控件也只有一个函数,下面给出访用VB Script的调用示例:RESULT = iKeyServer.Md5HMAC(CHALLENGE, PASSWORD, , )4. 方案的实施过程a)

12、 参照演示网页,修改开发商网站针对自己的实际状况,在自己的网站中添加iKey 1000认证支持。b) 安装认证网站将修改后的认证网页上传至认证服务器中。关键地,必需注册服务端控件。服务端控件是一个COM控件,可以在服务器上运用“regsvr32 书目名控件名”吩咐完成注册。留意:正常状况下iKeyClient.dll可以自动注册,但当某种状况下注册不胜利的时候,可以手工注册iKeyClient.dll和ikChkClient.dll,手工注册方法是:点击Strat-run,输入 regsvr32 “文件路径”,比如:regsvr32 E:product ASP sampleSample Com

13、ponentsiKeyClient.dllregsvr32 E:product ASP sampleSample ComponentsikChkClient.dllc) 初始化用户iKey 1000运用InitTool(可以依据须要进行修改),和现有的用户数据库,开发商可以初始化全部用于登录的iKey 1000硬件。并将它们发送给相应的最终用户。由于初始化工具只是一个简洁的示例,示例中固定iKey的用户口令是“12345678”,假如口令变更,初始化会失败。另外初始化的用户名和口令,要和用户名/口令数据库中的用户名口令相同,才能够认证胜利。d) iKey认证运算客户端和服务端算法是一样的,但输入参数的格式要留意,挑战数到客户端是经过了编码再输入到iKey中的。比如,挑战数是 “HIJK”,那么编码后的结果是“48494a4b”,可以看到这个是HIJK的ASCII编码的十六进制表示。假如运用iKeyEdit,产生MD5-HMAC密钥并进行运算,那么输入就是源数据,不是编码后的结果,因此要留意输入,才能够产生一样的结果。以上为本方案的具体说明。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号