书签 分享 收藏 举报 版权申诉 / 19

一种读取用户数字证书的方法、装置及系统.pdf

  • 上传人:sha****007
  • 文档编号:6401174
  • 上传时间:2019-06-07
  • 格式:PDF
  • 页数:19
  • 大小:1.26MB
  • 摘要
    申请专利号:

    CN201510564852.8

    申请日:

    2015.09.07

    公开号:

    CN105160233A

    公开日:

    2015.12.16

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 21/34申请日:20150907|||公开

    IPC分类号:

    G06F21/34(2013.01)I; G06Q20/38(2012.01)I; H04L9/32

    主分类号:

    G06F21/34

    申请人:

    北京祥云智信科技有限公司

    发明人:

    任伟

    地址:

    100000北京市海淀区清华园内的清华大学学研综合楼B座B903-021

    优先权:

    专利代理机构:

    北京超凡志成知识产权代理事务所(普通合伙)11371

    代理人:

    王术兰

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供了一种读取用户数字证书的方法、装置及系统,其中,该方法包括:接收识别用户key的接口方式的请求信息;从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别;若识别出用户key的接口方式,则通过接口方式对应的读取方法读取用户key内的数字证书。本发明实施例通过预设的多种接口识别方式识别出用户key的接口方式,解决了特定用户key无法在其他的应用系统中使用的技术问题,扩展了用户key的应用范围。

    权利要求书

    权利要求书
    1.  一种读取用户数字证书的方法,其特征在于,包括:
    接收识别用户key的接口方式的请求信息;
    从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,直至识别出所述用户key的接口方式或者所述多种接口识别方式均无法识别出所述用户key的接口方式;
    若识别出所述用户key的接口方式,则通过所述接口方式对应的读取方法读取所述用户key内的数字证书。

    2.  根据权利要求1所述的读取用户数字证书的方法,其特征在于,所述从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,包括:
    采用CertOpenSystemStore函数打开windows证书库;
    若能够打开,则标识用户key的接口方式为CryptoAPI;
    判断能否利用C_Initialize函数初始化环境;
    若能够初始化,则标识用户key的接口方式为PKCS#11;
    判断能否利用SCardEstablishContext函数获得资源管理控制器上下文;
    若能够获得,则标识用户key的接口方式为PC/SC;
    判断能否利用SKF_ConnectDev函数连接用户key;
    若连接成功,则标识用户key的接口方式为国密接口。

    3.  根据权利要求1或2所述的读取用户数字证书的方法,其特征在于,还包括:
    根据预设协议解析所述数字证书,获得证书信息;
    根据所述证书信息中的有效期判断所述数字证书是否过期;
    根据判断结果确定所述数字证书的交易认证的有效性;
    若所述数字证书未过期,则判断所述证书信息与用户输入的认证信息是否一致,以及判断所述证书信息中的颁发者是否在工业与信息化部CA列表中;
    根据判断结果确定所述数字证书的电子签名的有效性。

    4.  根据权利要求3所述的读取用户数字证书的方法,其特征在于,所述根据判断结果确定所述数字证书的电子签名的有效性,包括:
    若所述数字证书未过期且所述证书信息中的颁发者在工业与信息化部CA列表中,则向后台加密机发送吊销验证请求和所述数字证书的CRL分发点信息,以使所述后台加密机根据所述CRL分发点信息通过LDAP或API方式在证书吊销列表中查询,并判断所述数字证书是否已吊销;
    若未吊销,则接收所述后台加密机发送的证书不存在提示信息,确定所述数字证书的电子签名有效,否则接收所述后台加密机发送的证书存在提示信息,确定所述数字证书的电子签名无效。

    5.  根据权利要求3所述的读取用户数字证书的方法,其特征在于,所述根据判断结果确定所述数字证书的电子签名的有效性之后,还包括:
    若确定所述数字证书为有效,则将所述证书信息中除私钥以外的信息同步至后台加密机。

    6.  一种读取用户数字证书的装置,其特征在于,包括:
    请求信息接收模块,用于接收识别用户key的接口方式的请求信息;
    用户key的接口方式识别模块,用于从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,直至识别出所述用户key的接口方式或者所述多种接口识别方式均无法识别所述用户key的接口方式;
    数字证书读取模块,用于若识别出所述用户key的接口方式,则通过所述接口方式对应的读取方法读取所述用户key内的数字证书。

    7.  根据权利要求6所述的读取用户数字证书的装置,其特征在于,所述用户key的接口方式识别模块,包括:
    第一识别单元,用于采用CertOpenSystemStore函数打开windows证书库;若能够打开,则标识用户key的接口方式为CryptoAPI;
    第二识别单元,用于判断能否利用C_Initialize函数初始化环境;若能够初始化,则标识用户key的接口方式为PKCS#11;
    第三识别单元,用于判断能否利用SCardEstablishContext函数获得资源管理控制器上下文;若能够获得,则标识用户key的接口方式为PC/SC;
    第四识别单元,用于判断能否利用SKF_ConnectDev函数连接用户key;若连接成功,则标识用户key的接口方式为国密接口。

    8.  根据权利要求6或7所述的读取用户数字证书的装置,其特征在于,还包括:
    数字证书解析模块,用于根据预设协议解析所述数字证书,获得证书信息;
    数字证书的交易认证的有效性确定模块,用于根据所述证书信息中的有效期判断所述数字证书是否过期;根据判断结果确定所述数字证书的交易认证的有效性;
    数字证书的电子签名的有效性确定模块,用于若所述数字证书未过期,则判断所述证书信息与用户输入的认证信息是否一致,以及判断所述证书信息中的颁发者是否在工业与信息化部CA列表中;根据判断结果确定所述数字证书的电子签名的有效性。

    9.  根据权利要求8所述的读取用户数字证书的装置,其特征在于,还包括:
    同步模块,用于若确定所述数字证书为有效,则将所述证书信息中除私钥以外的信息同步至后台加密机。

    10.  一种读取用户数字证书的系统,其特征在于,包括:用户终端和后台加密机;所述用户终端包括如权利要求6至9任一项所述的读取用户数字证书的装置;
    所述后台加密机根据所述装置发送的CRL分发点信息通过LDAP或API方式在证书吊销列表中查询,判断所述数字证书是否已吊销,向所述装置发送是否吊销的提示信息;并接收所述装置发送的所述证书信息中除私钥以外的信息。

    说明书

    说明书一种读取用户数字证书的方法、装置及系统
    技术领域
    本发明涉及数字证书应用技术领域,具体而言,涉及一种读取用户数字证书的方法、装置及系统。
    背景技术
    目前,互联网电子商务技术使在网上购物的顾客能够方便地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险,为了保证互联网上电子交易的安全性和保密性等,防止电子交易及支付过程中的欺诈行为,必须在网上建立一种信任机制,要求参与电子商务的买方和卖方都必须拥有合法的身份,并且在网上能够有效无误地被进行验证。由于数字证书是一种权威性的电子文档,且提供了一种在互联网上验证使用者身份的方式,是由权威机构-CA证书授权(CertificateAuthority)中心发行的,可以在互联网交易中用上述数字证书来识别对方的身份,因此,数字证书被广泛的应用于互联网交易认证中。
    然而,目前各地的国税局、地税局、各家银行以及公安部三所等为了客户网上办理业务的安全性、合规性,给客户发放了大量存放于各种各样key中的数字证书。同时,各地的国税局、地税局、各家银行以及公安部三所等为了提高各自系统的开发及使用的便利性,为上述key都制定了各自的接口标准,如《税务系统数字证书应用接口规范》。因此,由于各地的国税局、地税局、各家银行以及公安部三所等按照自己的标准招标自己的key供应商、CA厂商, 导致各地的国税局、地税局、各家银行以及公安部三所等发行的key需要调用各自key供应商的驱动与其进行交互,即只能在对应的系统内实现:消息的签名与验签,文件的签名与验签,消息的加密与解密,文件的加密与解密等功能,因此,用户需要对多个key进行管理。
    在实现本发明的过程中,发明人发现相关技术中至少存在以下问题:各地的国税局、地税局、各家银行以及公安部三所等发行的key具有特定的接口方式,从而只能在各自的系统内使用,导致用户手中的key无法在其他互联网网站上进行交易认证和电子签名等操作,限制了用户持有的key的应用范围。
    发明内容
    有鉴于此,本发明实施例的目的在于提供一种读取用户数字证书的方法、装置及系统,以解决上述问题,从而实现通过各地的国税局、地税局、各家银行以及公安部三所等发行的key在其他互联网上进行交易认证和电子签名等操作,扩展了用户key的应用范围。
    第一方面,本发明实施例提供了一种读取用户数字证书的方法,包括:
    接收识别用户key的接口方式的请求信息;
    从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,直至识别出所述用户key的接口方式或者所述多种接口识别方式均无法识别所述用户key的接口方式;
    若识别出所述用户key的接口方式,则通过所述接口方式对应的读取方法读取所述用户key内的数字证书。
    结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,包括:
    采用CertOpenSystemStore函数打开windows证书库;
    若能够打开,则标识用户key的接口方式为CryptoAPI;
    判断能否利用C_Initialize函数初始化环境;
    若能够初始化,则标识用户key的接口方式为PKCS#11;
    判断能否利用SCardEstablishContext函数获得资源管理控制器上下文;
    若能够获得,则标识用户key的接口方式为PC/SC;
    判断能否利用SKF_ConnectDev函数连接用户key;
    若连接成功,则标识用户key的接口方式为国密接口。
    结合第一方面或第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述方法还包括:
    根据预设协议解析所述数字证书,获得证书信息;
    根据所述证书信息中的有效期判断所述数字证书是否过期;
    根据判断结果确定所述数字证书的交易认证的有效性;
    若所述数字证书未过期,则判断所述证书信息与用户输入的认证信息是否一致,以及判断所述证书信息中的的颁发者是否在工业与信息化部CA列表中;
    根据判断结果确定所述数字证书的电子签名的有效性。
    结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据判断结果确定所述数字证书的电子签名有效性,包括:
    若所述数字证书未过期且所述证书信息中的颁发者在工业与信息化部CA列表中,则向后台加密机发送吊销验证请求和所述数字证书的CRL分发点信息,以使所述后台加密机根据所述CRL分发点信息通过LDAP或API方式在证书吊销列表中查询,并判断所述数字证书是否已吊销;
    若未吊销,则接收所述后台加密机发送的证书不存在提示信息,确定所述数字证书的电子签名有效,否则接收所述后台加密机发送的证书存在提示信息,确定所述数字证书的电子签名无效。
    结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述根据判断结果确定所述数字证书的电子签名的有效性之后,还包括:
    若确定所述数字证书为有效,则将所述证书信息中除私钥以外的信息同步至后台加密机。
    第二方面,本发明实施例还提供了一种读取用户数字证书的装置,包括:
    认证信息接收模块,用于接收识别用户key的接口方式的请求信息;
    用户key的接口方式识别模块,用于从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,直至识别出所述用户key的接口方式或者所述多种接口识别方式均无法识别所述用户key的接口方式;
    数字证书读取模块,用于若识别出所述用户key的接口方式,则通过所述接口方式对应的读取方法读取所述用户key内的数字证书。
    结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述用户key的接口方式识别模块,包括:
    第一识别单元,用于采用CertOpenSystemStore函数打开windows证书库;若能够打开,则标识用户key的接口方式为CryptoAPI;
    第二识别单元,用于判断能否利用C_Initialize函数初始化环境;若能够初始化,则标识用户key的接口方式为PKCS#11;
    第三识别单元,用于判断能否利用SCardEstablishContext函数获得资源管理控制器上下文;若能够获得,则标识用户key的接口方式为PC/SC;
    第四识别单元,用于判断能否利用SKF_ConnectDev函数连接用户key;若连接成功,则标识用户key的接口方式为国密接口。
    结合第二方面或第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述装置还包括:
    数字证书解析模块,用于根据预设协议解析所述数字证书,获得证书信息;
    数字证书的交易认证的有效性确定模块,用于根据所述证书信息中的有效期判断所述数字证书是否过期;根据判断结果确定所述数字证书的交易认证的有效性;
    数字证书的电子签名的有效性确定模块,用于若所述数字证书未过期,则判断所述证书信息与用户输入的认证信息是否一致,以及判断所述证书信息中的颁发者是否在工业与信息化 部CA列表中;根据判断结果确定所述数字证书的电子签名的有效性。
    结合第二方面的第二种可能的实施方式,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述数字证书的电子签名的有效性确定模块用于若所述数字证书未过期且所述证书信息中的颁发者在工业与信息化部CA列表中,则向后台加密机发送吊销验证请求和所述数字证书的CRL分发点信息,以使所述后台加密机根据所述CRL分发点信息通过LDAP或API方式在证书吊销列表中查询,并判断所述数字证书是否已吊销;若未吊销,则接收所述后台加密机发送的证书不存在提示信息,确定所述数字证书的电子签名有效,否则接收所述后台加密机发送的证书存在提示信息,确定所述数字证书的电子签名无效。
    结合第二方面的第二种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,上述装置还包括:
    同步模块,用于若确定所述数字证书为有效,则将所述证书信息中除私钥以外的信息同步至后台加密机。
    第三方面,本发明实施例还提供了一种读取用户数字证书的系统,该系统包括:用户终端和后台加密机;所述用户终端包括上述读取用户数字证书的装置;
    所述后台加密机根据所述装置发送的CRL分发点信息通过LDAP或API方式在证书吊销列表中查询,判断所述数字证书是否已吊销,向所述装置发送是否吊销的提示信息;并接收所述装置发送的所述证书信息中除私钥以外的信息。
    在本发明实施例提供的读取用户数字证书的方法、装置及系统中,该方法包括:接收识别用户key的接口方式的请求信息;从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别;若识别出用户key的接口方式,则通过接口方式对应的读取方法读取用户key内的数字证书。本发明实施例通过预设的多种接口识别方式识别出用户key的接口方式,进而按照相应的读取方法读取用户key内的数字证书,进而,可以使用该用户key在其他互联网网站上进行交易认证或者电子签名等功能,解决了用户key无法在其他应用系统中使用的技术问题,扩展了用户key的应用范围。
    为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
    附图说明
    为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
    图1示出了本发明实施例所提供的一种读取用户数字证书的方法的流程示意图;
    图2示出了本发明实施例所提供的另一种读取用户数字证书的方法的流程示意图;
    图3示出了本发明实施例所提供的一种识别用户key接口方式的流程示意图;
    图4示出了本发明实施例所提供的第三种读取用户数字证书的方法的流程示意图;
    图5示出了本发明实施例所提供的一种读取用户数字证书的装置的结构示意图;
    图6示出了本发明实施例所提供的另一种读取用户数字证书的装置的结构示意图;
    图7示出了本发明实施例所提供的第三种读取用户数字证书的装置的结构示意图;
    图8示出了本发明实施例所提供的一种读取用户数字证书的系统的结构示意图。
    具体实施方式
    为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
    考虑到相关技术中各地的国税局、地税局、各家银行以及公安部三所等发行的key具有特定的接口方式,从而只能在各自的系统内使用,导致用户手中的key无法在其他互联网网站上进行交易认证和电子签名等功能,限制了用户持有的key的应用范围。基于此, 本发明实施例提供了一种读取用户数字证书的方法、装置及系统,下面通过实施例进行描述。
    如图1所示,本发明实施例提供了一种读取用户数字证书的方法,该方法包括步骤S101-S103,具体如下:
    步骤S101:接收识别用户key的接口方式的请求信息;其中,该认证信息包括用户办理key所用的证件类型、证件号码、证件名称,如办理key时使用的是身份证,用户登录网站后需要在证件类型下拉列表中选择身份证,然后输入身份证号及用户姓名等相关信息,此时,用户终端即互联网网站将接收到用户输入的认证信息,接收到该认证信息后,执行步骤S102对用户key的接口方式进行识别,步骤S102的具体内容为:
    步骤S102:从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,直至识别出所述用户key的接口方式或者所述多种接口识别方式均无法识别所述用户key的接口方式;当识别出用户key的接口方式后,执行步骤S103读取用户key内的数字证书。
    步骤S103:若识别出所述用户key的接口方式,则通过所述接口方式对应的读取方法读取所述用户key内的数字证书;其中,用户key内的数字证书的读取方法是根据用户key的接口方式进行设定的,由步骤S102可以识别出用户key的接口方式,并对该用户key的接口方式进行标识并保存,以便下次登录时直接确定该用户key的接口方式,并进行交易认证或者电子签名等功能。
    需要说明的是,上述用户key可以是实名制的,也可以是非实名制的,无论是实名制的key还是非实名制的key均可利用上述读 取用户key数字证书的方法读取出key内的数字证书,上述两种情况均在本发明的保护范围之内。
    本发明实施例通过预设的多种接口识别方式识别出用户key的接口方式,进而按照相应的读取方法读取用户key内的数字证书,进而,可以使用该用户key在其他互联网网站上进行交易认证或者电子签名等功能,解决了用户key无法在其他应用系统中使用的技术问题,扩展了用户key的应用范围。
    在读取出数字证书的基础上,可以使用该数字证书进行交易认证或电子签名,因此,需要判断数字证书或电子签名的有效性。又考虑到实名制的key需要对证书信息进行用户有效性验证,验证用户输入的认证信息的是否有效,基于此,如图2所示,上述方法还包括步骤S104-106,具体如下:从用户key中读取出数字证书后,执行步骤S104对该数字证书进行解析获得证书信息。
    步骤S104:根据预设协议解析所述数字证书,获得证书信息;
    具体的,上述预设协议方式可以选择常用的X.509协议,利用X.509协议对通过步骤S103读取出的数字证书进行解析,以得到相应的证书信息,该证书信息主要包括:证书的版本信息、证书的序列号(每个证书都有一个唯一的证书序列号)、证书所使用的签名算法、证书的发行机构名称(该发行机构的命名规则一般采用X.500格式)、证书的有效期(通用的证书的有效期一般采用UTC时间格式,它的计时范围为1950-2049)、证书所有人的名称(该名称的命名规则一般采用X.500格式)、证书所有人的公开密钥、以及证书发行者对证书的签名,通过步骤S104获得证书信息后,执行步骤S105需要对证书信息及认证信息进行验证。
    步骤S105:根据所述证书信息中的有效期判断所述数字证书是否过期;根据判断结果确定所述数字证书的交易认证的有效性;
    步骤S106:若所述数字证书未过期,则判断所述证书信息与用户输入的认证信息是否一致,以及判断所述证书信息中的颁发者是否在工业与信息化部CA列表中;根据判断结果确定所述数字证书的电子签名的有效性。
    需要说明的是,步骤S105是确定数字证书的交易认证的有效性的过程,若数字证书未过期,则说明数字证书的交易认证有效;步骤S106是确定数字证书的电子签名的有效性的过程,若数字证书未过期,且所述证书信息与用户输入的认证信息是一致,以及所述证书信息中的颁发者在工业与信息化部CA列表中,则说明数字证书的电子签名有效。无论是数字证书的交易认证的有效性的验证过程还是电子签名的有效性的验证过程都在本发明的保护范围之内。
    进一步的,如图3所示,上述从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,具体包括:
    步骤S201:采用CertOpenSystemStore函数打开windows证书库;若能够打开,则标识用户key的接口方式为CryptoAPI;若不能够打开windows证书库,则执行步骤S202的识别方式。
    步骤S202:判断能否利用C_Initialize函数初始化环境;若能够初始化,则标识用户key的接口方式为PKCS#11;若不能够初始化环境,则执行步骤S203的识别方式。
    步骤S203:判断能否利用SCardEstablishContext函数获得资源管理控制器上下文;若能够获得,则标识用户key的接口方式为 PC/SC;若不能够获得源管理控制器上下文,则执行步骤S204的识别方式。
    步骤S204:判断能否利用SKF_ConnectDev函数连接用户key;若连接成功,则标识用户key的接口方式为国密接口。直至识别出所述用户key的接口方式或者所述多种接口识别方式均无法识别所述用户key的接口方式。
    需要说明的是,上述给出四种识别用户key接口方式的识别方法,在本发明实施例中只是列出常用的四种用户key的接口方式的识别方法,上述预设的接口识别方式可以根据实际需求进行设定,也可以根据用户群所使用的key的接口方式进行设置,并且在对用户key接口方式的识别过程可以按照一定的顺序进行识别,也可以对识别顺序随机设定,在本发明实施例中,优选按照步骤S201-步骤S202的顺序依次识别,主要是根据目前发行的用户key的接口方式的发行量而定的,这样可以提高对用户key接口方式的识别速度,避免不必要的识别过程。
    考虑到不同的用户key的接口方式需要相对应的读取方法读取用户key内的数字证书,具体包括:
    当用户key的接口方式为CryptoAPI时,读取用户key内的数字证书的具体步骤包括:
    利用CertEnumCertificatesInStore函数枚举证书库证书,并利用CertGetNameString函数获取证书名称;列出所有证书;弹出证书列表供用户选择,用户选择一个用户key对应的证书,即读取用户key内的数字证书完毕。
    当用户key的接口方式为PKCS#11时,读取用户key内的数字证书的具体步骤包括:
    利用C_GetSlotList函数获取槽列表;利用C_OpenSession函数打开会话;利用C_Login函数登录用户身份;利用C_FindObjectsInit函数初始化查找对象;利用C_FindObjects函数循环查找,直到列出所有证书;弹出证书列表供用户选择,用户选择一个用户key对应的证书,即读取用户key内的数字证书完毕。
    当用户key的接口方式为PC/SC时,读取用户key内的数字证书的具体步骤包括:
    利用SCardListReaders函数列出所有读卡器,用户选择一个读卡器;利用SCardPropCert函数导出证书,即读取用户key内的数字证书完毕。
    当用户key的接口方式为国密接口时(该接口采用《智能IC卡及智能密码钥匙密码应用接口规范》),读取用户key内的数字证书的具体步骤包括:
    利用SKF_OpenAplication函数打开应用程序句柄;利用SKF_OpenContainer函数打开容器句柄;利用SKF_ExportCertificate函数导出证书,即读取用户key内的数字证书完毕。
    在本发明实施例中,通过上述几种读取方法读取出用户key内数字证书后,对该数字证书进行解析,获得证书信息,然后,进行数字证书的有效性验证,得出有效性验证结果,再根据该有效性验证结果确定所述数字证书的有效性。
    由于考虑到数字证书存在可能被吊销的情况,基于此,上述根据判断结果确定所述数字证书的电子签名的有效性,具体包括:
    若所述数字证书未过期且所述证书信息中的颁发者在工业与信息化部CA列表中,则向后台加密机发送吊销验证请求和所述数字证书的CRL分发点信息,以使所述后台加密机根据所述CRL分发 点信息通过LDAP或API方式在证书吊销列表中查询,并判断所述数字证书是否已吊销;
    若未吊销,则接收所述后台加密机发送的证书不存在提示信息,确定所述数字证书的电子签名有效,否则接收所述后台加密机发送的证书存在提示信息,确定所述数字证书的电子签名无效。
    如图4所示,上述根据判断结果确定所述数字证书的的电子签名有效性之后,还包括:
    步骤S107:若确定所述数字证书为有效,则将所述证书信息中除私钥以外的信息同步至后台加密机。
    其中,上述后台加密机可以是覆盖国内CA加密算法的加密机,可以作为CA认证服务器,在上述识别用户key接口方式并读取用户key内数字证书的基础上,利用该用户key内各机构发放的数字证书在任意互联网网站上(该互联网网站安装有具有上述读取用户数字证书的功能的安全控件),实现用户绑定、用户的交易认证及对电子文件的电子签名等功能。
    在本发明实施例中,将安装有具有上述读取用户数字证书功能的安全控件的应用(互联网网站)作为用户终端,后台加密机作为CA认证服务器,在实现交易认证过程中,用户终端与后台加密机之间的信息交互具体如下:
    S11:用户终端(应用通过安全控件以标识的key访问方式访问Key)向认证服务器发出请求,要求进行身份认证;
    S12:认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;根据CRL分发点信息,通过互联网查询CRL信息,若存在,则不做进一步处理;
    S13:认证服务器内部产生一个随机数,作为"提问",发送给用户终端;
    S14:用户终端(应用通过安全控件以标识的key访问方式访问Key)将用户名字和随机数合并,使用单向Hash函数生成一个字节串作为应答;
    S15:认证服务器将应答串与自己的计算结果比较,若二者相同,则通过一次认证;否则,认证失败;
    S16:认证服务器通知用户终端认证成功或失败。
    在实现电子签名过程中,用户终端与后台加密机之间的信息交互具体如下:
    S21:用户终端(应用通过安全控件以标识的key访问方式访问Key)向认证服务器发出请求,要求进行签名身份认证;
    S22:认证服务器从用户数据库中查询用户是否是合法的用户,若不是,则不做进一步处理;根据CRL分发点信息,通过互联网查询CRL信息,若存在,则不做进一步处理;
    S23:认证服务器通知用户终端认证成功或失败;
    S24:应用将需要签名电子文件路径提交给安全控件;
    S25:安全控件提取文件电子摘要,以标识的key访问方式访问Key,提交电子摘要给key,要求key签名,key返回签名结果给安全控件;
    S26:安全控件返回签名结果给应用。
    基于上述分析可知,本发明实施例提供的读取用户数字证书的方法通过预设的多种接口识别方式识别出用户key的接口方式,进而按照相应的读取方法读取用户key内的数字证书,并对该数字证书进行有效性验证,进而,可以使用该用户key在其他互联网网站 上进行交易认证及电子签名等功能,解决了用户key无法在其他应用系统中使用的技术问题,扩展了用户key的应用范围;进一步的,将证书信息中除私钥以外的信息同步至覆盖国内CA加密算法的后台加密机上,保证了交易认证的安全性,提供了权威的电子签名。
    对应于上述方法,本发明实施例还提供了一种读取用户数字证书的装置,如图5所示,该装置具体包括:
    请求信息接收模块401,用于接收识别用户key的接口方式的请求信息;
    用户key的接口方式识别模块402,用于从预设的多种接口识别方式中依次选取一种接口识别方式对用户key的接口方式进行识别,直至识别出所述用户key的接口方式或者所述多种接口识别方式均无法识别所述用户key的接口方式;
    数字证书读取模块403,用于若识别出所述用户key的接口方式,则通过所述接口方式对应的读取方法读取所述用户key内的数字证书。
    进一步的,如图6所示,上述装置还包括:
    数字证书解析模块404,用于根据预设协议解析所述数字证书,获得证书信息;
    数字证书的交易认证的有效性确定模块405,用于根据所述证书信息中的有效期判断所述数字证书是否过期;根据判断结果确定所述数字证书的交易认证的有效性;
    数字证书的电子签名的有效性确定模块406,用于若所述数字证书未过期,则判断所述证书信息与用户输入的认证信息是否一致,以及判断所述证书信息中的颁发者是否在工业与信息化部CA列表中;根据判断结果确定所述数字证书的电子签名的有效性。
    进一步的,上述用户key的接口方式识别模块402可以通过如下功能单元来识别用户key的接口方式,具体包括:
    第一识别单元,用于采用CertOpenSystemStore函数打开windows证书库;若能够打开,则标识用户key的接口方式为CryptoAPI;
    第二识别单元,用于判断能否利用C_Initialize函数初始化环境;若能够初始化,则标识用户key的接口方式为PKCS#11;
    第三识别单元,用于判断能否利用SCardEstablishContext函数获得资源管理控制器上下文;若能够获得,则标识用户key的接口方式为PC/SC;
    第四识别单元,用于判断能否利用SKF_ConnectDev函数连接用户key;若连接成功,则标识用户key的接口方式为国密接口。
    进一步的,上述数字证书的电子签名的有效性确定模块406用于所述数字证书未过期且所述证书信息中的颁发者在工业与信息化部CA列表中,则向后台加密机发送吊销验证请求和所述数字证书的CRL分发点信息,以使所述后台加密机根据所述CRL分发点信息通过LDAP或API方式在证书吊销列表中查询,并判断所述数字证书是否已吊销;若未吊销,则接收所述后台加密机发送的证书不存在提示信息,确定所述数字证书的电子签名有效,否则接收所述后台加密机发送的证书存在提示信息,确定所述数字证书的电子签名无效。
    进一步的,如图7所示,上述装置还包括:
    同步模块407,用于若确定所述数字证书为有效,则将所述证书信息中除私钥以外的信息同步至后台加密机。
    本发明实施例所提供的读取用户数字证书的装置通过用户key的接口方式识别模块402识别出用户key的接口方式,进而利用数字证书读取模块403读取用户key内的数字证书,并利用数字证书的有效性判断模块405对该数字证书进行有效性验证,进而,可以使用该用户key在其他互联网网站上进行交易认证及电子签名等功能,解决了用户key无法在其他应用系统中使用的技术问题,扩展了用户key的应用范围。
    本发明实施例还提供了一种读取用户数字证书的系统,如图8所示,该系统包括:用户终端61和后台加密机62;该用户终端61包括上述读取用户数字证书的装置,其中,该装置可以是安装在互联网网站上的安全控件,用户终端61可以是安装有该安全控件的互联网网站;
    所述后台加密机62根据所述装置发送的CRL分发点信息通过LDAP或API方式在证书吊销列表中查询,判断所述数字证书是否已吊销,向所述装置发送是否吊销的提示信息;并接收所述装置发送的所述证书信息中除私钥以外的信息。
    本发明实施例所提供的系统通过预设的多种接口识别方式识别出用户key的接口方式,进而按照相应的读取方法读取用户key内的数字证书,并对该数字证书进行有效性验证,进而,可以使用该用户key在其他互联网网站上进行交易认证或者电子签名等功能,解决了用户key无法在其他应用系统中使用的技术问题,扩展了用户key的应用范围。进一步的,将证书信息中除私钥以外的信息同步至覆盖国内CA加密算法的后台加密机62上,保证了交易认证的安全性,提供了权威的电子签名。
    本发明实施例所提供的读取用户数字证书的方法、装置及系统可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
    在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
    另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
    所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部 分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
    应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
    最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

    关 键  词:
    一种 读取 用户 数字证书 方法 装置 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种读取用户数字证书的方法、装置及系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6401174.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1