【技术实现步骤摘要】
一种智能卡应用扩展的实现方法及装置
本专利技术涉及智能卡应用领域,尤其涉及一种智能卡应用扩展的实现方法及装置。
技术介绍
在现有技术中,使用token技术来实现授权访问,即通过令牌设备进行签名和验签等操作。tokend技术的开发环境只能在mac系统版本10.7及版本10.7之前的系统上使用和编译,在版本10.7以后的系统中只支持使用而不能开发,使现有技术中的授权访问过程都局限于tokend技术,如何不使用tokend技术也能实现授权访问,是现有技术亟待解决的问题。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种智能卡应用扩展的实现方法及装置。本专利技术提供了一种智能卡应用扩展的实现方法,当与扩展配置文件中的设备标识对应的智能卡插入终端时装置开始调用接口函数,所述方法包括:步骤S1:当第一接口函数被调用时,装置创建对应于所述智能卡的智能卡令牌并进行初始化;步骤S2:所述装置从所述智能卡中读取智能卡数据;步骤S3:所述装置将读取到的智能卡数据中的证书对象转化成为证书钥匙串格式的数据,并根据所述证书钥匙串格式的数据创建密钥对钥匙串格式数据,并设置所述密钥对 ...
【技术保护点】
1.一种智能卡应用扩展的实现方法,其特征在于,当与扩展配置文件中的设备标识对应的智能卡插入终端时装置开始调用接口函数,所述方法包括:步骤S1:当第一接口函数被调用时,装置创建对应于所述智能卡的智能卡令牌并进行初始化;步骤S2:所述装置从所述智能卡中读取智能卡数据;步骤S3:所述装置将读取到的智能卡数据中的证书对象转化成为证书钥匙串格式的数据,并根据所述证书钥匙串格式的数据创建密钥对钥匙串格式数据,并设置所述密钥对钥匙串格式数据的属性;步骤S4:所述装置将所述证书钥匙串格式数据和所述密钥对钥匙串格式数据保存在系统密钥链单元中;步骤S5:所述装置将所述系统密钥链单元封装到系统密 ...
【技术特征摘要】
1.一种智能卡应用扩展的实现方法,其特征在于,当与扩展配置文件中的设备标识对应的智能卡插入终端时装置开始调用接口函数,所述方法包括:步骤S1:当第一接口函数被调用时,装置创建对应于所述智能卡的智能卡令牌并进行初始化;步骤S2:所述装置从所述智能卡中读取智能卡数据;步骤S3:所述装置将读取到的智能卡数据中的证书对象转化成为证书钥匙串格式的数据,并根据所述证书钥匙串格式的数据创建密钥对钥匙串格式数据,并设置所述密钥对钥匙串格式数据的属性;步骤S4:所述装置将所述证书钥匙串格式数据和所述密钥对钥匙串格式数据保存在系统密钥链单元中;步骤S5:所述装置将所述系统密钥链单元封装到系统密钥链里,所述系统密钥链保存在所述智能卡令牌中;步骤S6:当所述装置接收到触发信息时,创建会话并对所述会话进行初始化,将所述会话与所述智能卡令牌绑定,所述装置根据所述会话调用接口函数进行应用扩展操作。2.如权利要求1所述的方法,其特征在于,所述步骤S1包括:当第一接口函数被调用时,所述装置通过调用第二接口函数,向与所述第二接口函数的智能卡参数对应的智能卡发送获取序列号指令,获取设备序列号,根据所述设备序列号及所述第二接口函数的参数调用第三接口函数创建并初始化智能卡令牌,并将设备序列号作为所述智能卡令牌的唯一标识。3.如权利要求2所述的方法,其特征在于,所述步骤S1与所述步骤S2之间包括:所述装置判断所述智能卡令牌是否初始化成功,是则执行步骤S2,否则报错,结束。4.如权利要求3所述的方法,其特征在于,所述装置判断所述智能卡令牌是否初始化成功,包括:所述装置判断所述第三接口函数的返回值,如为智能卡令牌的实例,则智能卡令牌初始化成功,执行步骤S2;否则智能卡令牌初始化失败,报错,结束。5.如权利要求1所述的方法,其特征在于,所述步骤S2包括:所述装置读取智能卡缓存区,获取智能卡数据的长度和偏移并保存;再根据获取的长度和偏移读取公有区中的智能卡数据,解析智能卡数据属性特征,获取并保存证书对象。6.如权利要求1所述的方法,其特征在于,所述步骤S3包括:所述装置根据传入的证书对象和与证书对象标识对应的证书通过第一函数来创建证书钥匙串格式数据,根据所述证书对象、所述证书对象标识以及指定密钥对的密钥对数据标识调用第二函数创建与证书钥匙串格式数据对应的密钥对钥匙串格式数据,并通过第三函数设置密钥对钥匙串格式数据的签名属性为真,并且设置每次进行签名操作都需要身份认证。7.如权利要求1所述的方法,其特征在于,所述步骤S4包括:所述装置创建系统密钥链单元类型的数组,将所述证书钥匙串格式数据和所述密钥对钥匙串格式数据添加到所述数组里。8.如权利要求1所述的方法,其特征在于,所述步骤S6包括:当所述装置接收到验PIN触发信息时,创建验PIN会话并对所述验PIN会话进行初始化,将所述验PIN会话与对应的智能卡令牌绑定,所述装置根据所述验PIN会话调用第四接口函数进行验PIN操作。9.如权利要求8所述的方法,其特征在于,所述装置根据所述验PIN会话调用第四接口函数进行验PIN操作,包括:步骤200、所述装置将所述验PIN会话作为参数调用第四接口函数;步骤201、所述装置通过所述第四接口函数创建智能卡令牌PIN码验证操作实例并初始化,将所述智能卡令牌PIN码验证操作实例与对应于所述验PIN会话的智能卡令牌绑定;步骤202:所述装置提示用户输入PIN码并等待接收用户输入的PIN码和输入完成确认信息;步骤203、当所述装置接收到输入完成确认信息后,通过与对应于所述验PIN会话的智能卡令牌对应的智能卡对接收到的用户输入的PIN码进行验证。10.如权利要求9所述的方法,其特征在于,所述步骤203具体包括:步骤203-1、当所述装置接收到用户输入PIN码的完成确认信息后,向与对应于所述验PIN会话的智能卡令牌对应的智能卡发送获取随机数指令;步骤203-2、当所述装置接收到所述智能卡返回的随机数时,将接收到的所述PIN码和所述随机数做异或运算得到异或结果;步骤203-3、所述装置使用令牌公钥对异或结果进行加密得到第一加密结果;步骤203-4、所述装置根据第一加密结果生成验证指令,并将所述验证指令发送给所述智能卡;步骤203-5、所述装置接收所述智能卡返回的验证信息。11.如权利要求1所述的方法,其特征在于,所述步骤S6包括:当所述装置接收到签名触发信息时,创建签名会话并对所述签名会话进行初始化,将所述签名会话与对应的智能卡令牌绑定,所述装置根据所述签名会话调用第六接口函数进行签名操作。12.如权利要求11所述的方法,其特征在于,所述装置根据所述签名会话调用第六接口函数进行签名操作,包括:步骤301、所述装置根据所述签名会话调用第六接口函数;步骤302:所述装置通过所述第六接口函数的参数中的密钥标识从对应于所述签名会话的智能卡令牌中获取密钥对钥匙串格式数据,根据所述密钥对钥匙串格式数据从对应于所述签名会话的智能卡令牌中获取证书对象;步骤303、所述装置根据所述第六接口函数的参数中的算法解析所述第六接口函数的参数中的原文数据得到待签名数据;步骤304、所述装置通过与对应于所述签名会话的智能卡令牌对应的智能卡和所述证书对象对所述待签名数据执行签名操作;步骤305、所述装置根据签名操作结果判断签名操作是否成功,是则保存所述签名操作结果中的签名值,否则结束。13.如权利要求12所述的方法,其特征在于,所述步骤304包括:步骤304-1:所述装置根据第六接口函数的参数中的签名算法标识和所述密钥标识通过安全环境管理生成第一签名指令并发送给与对应于所述签名会话的智能卡令牌对应的智能卡;步骤304-2:所述装置根据所述智能卡返回的第一状态码判断是否继续签名操作,是则根据所述待签名数据生成第二签名指令并发送给所述智能卡,否则结束;步骤304-3:所述装置根据所述智能卡返回的第二状态码判断是否继续签名操作,是则生成第三签名指令并发送给所述智能卡,否则结束。14.如权利要求1所述的方法,其特征在于,所述装置根据会话调用接口函数进行应用扩展操作包括:当所述装置接收到算法支持触发信息时,创建算法支持会话并对所述算法支持会话进行初始化,将所述算法支持会话与所述智能卡令牌绑定,所述装置根据所述算法支持会话调用第五接口函数进行算法支持操作。15.如权利要求14所述的方法,其特征在于,所述装置根据所述算法支持会话调用第五接口函数进行算法支持操作,包括:步骤B0、所述装置根据所述算法支持会话调用第五接口函数;步骤B1、所述装置通过所述第五接口函数的参数中的密钥标识从对应于所述算法支持会话的智能卡令牌中获取密钥对钥匙串格式数据类型的密钥对钥匙串格式数据;步骤B2、所述装置根据所述密钥对钥匙串格式数据的属性判断所述密钥对钥匙串格式数据是否支持所述第五接口函数的参数中的算法,是则返回成功信息,否则返回失败信息。16.如权利要求15所述的方法,其特征在于,所述步骤B2包括:所述装置获取密钥对钥匙串格式数据的属性中支持的算法列表,判断所述第五接口函数的参数中的算法是否在所述算法列表里,是则支持,返回成功信息;否则不支持,返回失败信息。17.如权利要求1所述的方法,其特征在于,所述步骤S6包括:当所述装置接收到解密触发信息时,创建解密会话并对所述解密会话进行初始化,将所述解密会话与所述智能卡令牌绑定,所述装置根据所述解密会话调用第七接口函数进行解密操作。18.如权利要求17所述的方法,其特征在于,所述装置根据所述解密会话调用第七接口函数进行解密操作包括:步骤C0:所述装置根据所述解密会话调用第七接口函数;步骤C1:所述装置从所述第七接口函数的参数中获取待解密数据、密钥标识和算法信息;步骤C2:所述装置根据所述密钥标识从对应于所述解密会话的智能卡令牌中获取对应的密钥,根据与所述算法信息对应的算法使用获取的所述密钥对获取的所述待解密数据进行解密。19.如权利要求1所述的方法,其特征在于,所述步骤S6包括:当所述装置接收到密钥交换触发信息时,创建密钥交换会话并对所述解密会话进行初始化,将所述密钥交换会话与所述智能卡令牌绑定,所述装置根据所述密钥交换会话调用第八接口函数进行密钥交换操作。20.如权利要求19所述的方法,其特征在于,所述装置根据所述密钥交换会话调用第八接口函数进行密钥交换操作包括:所述装置根据所述密钥交换会话调用第八接口函数,从所述第八接口函数的参数中获取其他方公钥的原始数据、密钥标识和当前算法,根据密钥标识从对应于所述密钥交换会话的智能卡令牌中获取对应的密钥,根据当前算法将获取的所述密钥和其他方公钥的原始数据进行交换。21.一种智能卡应用扩展的实现装置,其特征在于,当与扩展配置文件中的设备标识对应的智能卡插入终端时装置开始调用接口函数,所述装置包括:创建初始化模块,用于当第一接口函数被调用时,创建对应于所述智能卡的智能卡令牌并进行初始化;第一读取模块,用于在所述创建初始化模块初始化完成后从所述智能卡中读取智能卡数据;转化设置模块,用于将所述第一读取模块读取到的智能卡数据中的证书对象转化成为证书钥匙串格式的数据,并根据所述证书钥匙串格式的数据创建密钥对钥匙串格式数据,并设置...
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。