下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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, &qu
12、ot;", "" )4. 方案的实施过程a) 参照演示网页,修改开发商网站针对自己的实际情况,在自己的网站中添加iKey 1000认证支持。b) 安装认证网站将修改后的认证网页上传至认证服务器中。关键地,必须注册服务端控件。服务端控件是一个COM控件,可以在服务器上使用“regsvr32 目录名控件名”命令完成注册。注意:正常情况下iKeyClient.dll可以自动注册,但当某种情况下注册不成功的时候,可以手工注册iKeyClient.dll和ikChkClient.dll,手工注册方法是:点击Strat->run,输入 regsvr32 “文件路径”,比
13、如:regsvr32 "E:product ASP sampleSample ComponentsiKeyClient.dll"regsvr32 "E:product ASP sampleSample ComponentsikChkClient.dll"c) 初始化用户iKey 1000使用InitTool(可以根据需要进行修改),和现有的用户数据库,开发商可以初始化所有用于登录的iKey 1000硬件。并将它们发送给相应的最终用户。由于初始化工具只是一个简单的示例,示例中固定iKey的用户口令是“12345678”,如果口令改变,初始化会失败。另外初始化的用户名和口令,要和用户名/口令数据库中的用户名口令相同,才能够认证
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏活动教案模板
- 2024年深海探测技术项目信托资金借款合同3篇
- 一年级语文园地五教案
- 2025年直流电源项目提案报告模稿
- 公文报告的范文
- 财务经理述职报告
- 绘画工作总结
- 结构工程师工作总结(12篇)
- 学生会辞职报告(集合15篇)
- 简短的求职自我介绍-
- 2025年上半年河南省西峡县部分事业单位招考易考易错模拟试题(共500题)试卷后附参考答案-1
- 深交所创业板注册制发行上市审核动态(2020-2022)
- 手术室护理组长竞聘
- 电力系统继电保护试题以及答案(二)
- 小学生防打架斗殴安全教育
- 网络运营代销合同范例
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- 学生请假外出审批表
- 疼痛诊疗与康复
- T∕ACSC 01-2022 辅助生殖医学中心建设标准(高清最新版)
- 新版【处置卡图集】施工类各岗位应急处置卡(20页)
评论
0/150
提交评论