数字证书保管方法和装置、数字签名方法和装置的制造方法_2

文档序号:8365228阅读:来源:国知局
以解释本发明,并不用于限定本发明。
[0061]本发明提供的方法可应用于如图1所示的应用环境中。终端102与服务器104通过网络106进行通信。终端102包括但不限于个人计算机、智能手机、平板电脑、个人数字助理等。网络106包括但不限于互联网、3G(3rd_Generat1n)/4G(the 4th Generat1nmobile communicat1n technology)等移动网络。服务器104中包括服务组件、密码组件和存储组件等多个组件。服务组件为基于SOA (Service-Oriented Architecture,面向服务的体系结构)业务中间件软件,提供数字证书申请、数字签名等功能接口。密码组件为独立的加密服务器,用于生成密钥对、进行加密、解密,生成数字证书申请文件等。存储组件为数据库,用于存储数字证书密文、数字签名的签名值等。每个组件之间彼此独立,通过相应的接口互相关联。服务器104在接收到终端102发送的申请数字证书请求之后,服务器104通过服务组件和密码组件生成数字证书请求文件,通过网络108并向CA中心110申请数字证书。由此实现了在不安装数字证书控件的情况下申请数字证书。服务器104将从CA中心申请到的数字证书通过密码组件进行加密,并通过存储组件进行存储,对数字证书进行加密,并对数字证书密文进行保管。如果用户需要使用该数字证书,可通过终端102向服务器104发送验证码和数字证书使用密码,服务器104分别对验证码和数字证书使用密码验证通过之后,为终端102提供证书签名、数字签名验证等操作,由此克服了由于数字证书存储在某一终端无法共用的问题,从而使得数字证书能够在多个终端之间共用,避免了在多个终端重复安装数字证书控件、申请数字证书的麻烦,为用户提供了方便。
[0062]在一个实施例中,如图2所示,提供了一种数字证书保管方法,该方法以应用于服务器进行举例说明,具体包括:
[0063]步骤202,接收用户的申请数字证书请求。
[0064]用户通过终端发送申请数字证书请求。具体的,通过终端上的HTTP (HyperTextTransfer Protocol,超文本传输协议)接口访问服务器,并向服务器发送申请数字证书请求。利用服务器中的服务组件来接收申请数字证书请求。
[0065]步骤204,根据申请数字证书请求生成数字证书请求文件,以使得CA中心对数字证书请求文件进行数字签名后生成对应的数字证书。
[0066]服务组件接收到申请数字证书请求后,调用密码组件的接口,向密码组件发送获取数字证书请求文件的请求,密码组件根据该请求随机生成密钥对,其中密钥对中包括公钥和私钥。优选的,密码组件生成的密钥对为RSA(—种加密算法)密钥对。密码组件再利用公钥与用户信息(如用户的姓名、身份证号码等)生成数字证书请求文件,并将密钥对和数字证书请求文件返回至服务组件。优选的,数字证书请求文件为PlO格式。服务组件将数字证书请求文件发送至CA中心,CA中心对该数字证书请求文件进行数字签名后生成对应的数字证书,并将数字证书返回至服务组件。
[0067]步骤206,对数字证书进行加密,得到数字证书密文。
[0068]密码组件通过RSA加密算法对数字证书进行加密,得到数字证书密文。密码组件采用独立的服务器来执行,由此能够进一步提高加密的安全性。
[0069]在其中一个实施例中,对数字证书进行加密,得到数字证书密文的步骤包括:将数字证书和与对应的私钥进行合并,转化为含私钥的数字证书;利用数字证书使用密码密文对含私钥的数字证书进行加密,并得到数字证书密文。
[0070]数字证书对应的私钥也就是上述为了申请数字证书而生成的密钥对中的私钥。加密组件将数字证书与对应的私钥进行合并,转化为含有私钥的数字证书。具体的,加密组件可利用 openssl (Open Secure Sockets Layer,开放式安全套接层协议)、Java keytool (一个Java数据证书的管理工具)等开发包对数字证书与对应的私钥进行合并,转化为含有私钥的数字证书。优选的,含有私钥的数字证书为P12格式。加密组件利用数字证书使用密码密文对含有私钥的数字证书进行加密,得到数字证书密文。
[0071]步骤208,对数字证书密文进行存储。
[0072]将数字证书密文存储到存储组件中。存储完成之后,向用户提示“数字证书申请成功,已存储”。如果未能从CA中心申请到数字证书,则无需进行对数字证书进行加密的步骤。可直接向用户提示“数字证书申请失败”。
[0073]本实施例中,接收用户的申请数字证书请求;根据申请数字证书请求生成数字证书请求文件,以使得CA中心对数字证书请求文件进行数字签名后生成对应的数字证书;对数字证书进行加密,得到数字证书密文;对数字证书密文进行存储。在接收到用户的申请数字证书请求后,无需安装数字证书控件即可生成数字证书请求文件,并向CA中心申请数字证书。由此实现了在不安装数字证书控件的情况下申请数字证书。通过对数字证书进行加密后,对数字证书密文进行存储,克服了由于数字证书存储在某一终端无法共用的问题。由此使得数字证书能够在多个终端之间共用,避免了在多个终端重复申请数字证书的麻烦,为用户提供了方便。
[0074]在一个实施例中,在接收用户的申请数字证书请求的步骤之前,还包括:获取用户输入的数字证书使用密码;对数字证书使用密码进行加密,得到对应的密文。
[0075]本实施例中,用户预先对数字证书设置数字证书使用密码。具体的,用户利用终端通过HTTP接口在相应的设置页面输入数字证书使用密码。由于用户输入的数字证书使用密码为明文密码,需要对明文密码进行加密,作为预设的数字证书使用密码密文。服务组件在接收到数字证书使用密码之后,调用密码组件接口,密码组件对数字证书使用密码进行加密。从而提高了数字证书使用密码的安全性。
[0076]在一个实施例中,在对数字证书密文进行存储并向用户进行提示的步骤之后,还包括:接收用户通过移动终端发送的验证码进行验证;验证通过之后,接收用户输入的数字证书使用密码进行再次验证;再次验证通过之后,利用数字证书进行相应的操作。
[0077]本实施例中,服务组件接收用户通过移动终端发送的验证码,并进行验证,校验通过之后,再次接收用户输入的数字证书使用密码。服务组件调用密码组件接口,对用户输入的数字证书使用密码进行加密,得到对应的密文,再次调用密码组件接口获取预设的数字证书使用密码密文,并将这两个密文进行比较验证,若两者相同,则再次验证通过。再次验证通过之后,即可通过服务组件调用数字证书,进行相应的操作,包括数字签名、数字签名验证等。由此无需在终端安装数字证书,即可使得数字证书能够在多个终端之间共用,避免了在多个终端重复申请数字证书的麻烦,为用户提供了方便。
[0078]在一个实施例中,如图3所示,提供了一种数字签名方法,该方法包括:
[0079]步骤302,接收用户的数字签名请求,数字签名请求中包括用户标识、原文和数字证书使用密码。
[0080]步骤304,根据数字签名请求获取数字证书密文。
[0081]步骤306,将数字证书使用密码进行加密得到数字证书使用密码密文。
[0082]步骤308,利用数字证书使用密码密文对数字证书密文进行解密,得到与用户标识对应的数字证书。
[0083]步骤310,利用与用户标识对应的数字证书对原文进行数字签名得到对应的签名值。
[0084]本实施例中,原文是指用户想要传送的信息的原文,数字证书使用密码为上述实施例中用户预设的数字证书使用密码。步骤304中的数字证书密文为上述各实施例提供的数字证书保管方法所保管的数字证书密文。服务组件在接收到用户的数字签名请求后,获取存储组件之前存储的数字证书密文。密码组件对数字证书使用密码进行加密,得到数字证书使用密码密文。密码组件利用数字证书使用密码密文对数字证书密文进行解密,得到与用户标识对应的数字证书。如果用户输入的数字证书使用密码有误,则不能对数字证书密文进行解密。服务组件利用数字证书对原文进行签名,并得到对应的签名值,存储组件将签名值进行存储,并向用户提示数字签名成功。通过利用数字证书使用密码密文对数字证书密文进行解密,得到与用户标识对应的数字证书,利用与用户标识对应的数字证书对原文进行数字签名得到对应的签名值,由此实现了安全的数字签名。既不需要在终端安装数字证书控件,也不需要终端安装证书,即可进行数字签名操作,从而进一步提高了数字证书在多个终端之间的通用性,为用户提供了方便。
[0085]如图4所示,在一个实施例中,提供了一种数字证书保管装置,该装置包括:第一请求接收模块402、证书申请模块404、第一加密模块406和密文存储模块408,其中:
[0086]第一请求接收模块402,用于接收用户的申
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1