软件证书的生成方法、装置及系统与流程

文档序号:18215959发布日期:2019-07-19 22:38阅读:247来源:国知局
软件证书的生成方法、装置及系统与流程

本发明实施例涉及软件证书技术,尤其涉及一种软件证书的生成方法、装置及系统。



背景技术:

软件证书用于软件执行过程中的软件合法认证,软件证书中包含软件运行环境和证书运行限制信息,并且软件运行环境和证书运行限制信息是加密过的。软件运行的时候,解密并验证这些信息。当存在软件代理商的时候,申请软件证书的流程一般是代理商获得用户的运行环境信息,然后把这些信息发往软件厂商,由软件厂商生成软件证书并发给代理商,代理商再把软件证书发给用户。

但是,上述方法势必要将用户的一些信息发送给软件厂家,造成代理商的用户信息泄露,而除非代理商买断,否则软件厂商也不可能把制作证书的私钥给代理商,由代理商生成软件证书,从而造成软件证书的生成方法不够安全,有信息泄露的缺陷。



技术实现要素:

本发明提供一种软件证书的生成方法、装置及系统,以解决代理商要把用户的相关信息直接发送给厂家导致信息泄露的问题,也避免代理商得到厂家的私钥,提高了软件证书生成的安全性。

第一方面,本发明实施例提供了一种软件证书的生成方法,包括:

代理商设备获取用户设备的运行环境信息;

所述代理商设备将所述运行环境信息和预先获取的预售证书发送给加密锁,所述预售证书是厂家设备使用所述加密锁的私钥对证书的运行限制信息加密生成的;

所述代理商设备接收所述加密锁发送的软件证书,所述软件证书是所述加密锁使用产生软件证书的私钥对所述运行限制信息和所述运行环境信息加密生成的。

可选的,在所述接收用户设备发送的软件证书请求之前,还包括:

所述代理商设备向所述厂家设备发送预售证书请求,所述预售证书请求包括所述加密锁的编号和所述运行限制信息;

所述代理商设备接收所述厂家设备发送的所述预售证书。

第二方面,本发明实施例还提供了一种软件证书的生成方法,包括:

加密锁接收代理商设备发送的用户设备的运行环境信息和预售证书,所述预售证书是厂家设备使用加密锁的私钥对证书的运行限制信息加密生成的;

所述加密锁使用公钥对所述预售证书解密得到所述运行限制信息;

所述加密锁使用产生软件证书的私钥对所述运行限制信息和所述运行环境信息加密生成软件证书;

所述加密锁将所述软件证书发送给所述代理商设备。

第三方面,本发明实施例还提供了一种软件证书的生成方法,包括:

厂家设备接收代理商设备发送的预售证书请求,所述预售证书请求包括加密锁的编号和证书的运行限制信息;

所述厂家设备根据所述加密锁的编号获取所述加密锁的私钥;

所述厂家设备使用所述加密锁的私钥对所述运行限制信息加密生成预售证书;

所述厂家设备将所述预售证书发送给所述代理商设备。

第四方面,本发明实施例还提供了一种代理商设备,包括:

获取模块,用于获取用户设备的运行环境信息;

发送模块,用于将所述运行环境信息和预先获取的预售证书发送给加密锁,所述预售证书是厂家设备使用所述加密锁的私钥对证书的运行限制信息加密生成的;

接收模块,用于接收所述加密锁发送的软件证书,所述软件证书是所述加密锁使用产生软件证书的私钥对所述运行限制信息和所述运行环境信息加密生成的。

可选的,所述发送模块,还用于向所述厂家设备发送预售证书请求,所述预售证书请求包括所述加密锁的编号和所述运行限制信息;

所述接收模块,还用于接收所述厂家设备发送的所述预售证书。

第五方面,本发明实施例还提供了一种加密锁,包括:

接收模块,用于接收代理商设备发送的用户设备的运行环境信息和预售证书,所述预售证书是厂家设备使用加密锁的私钥对证书的运行限制信息加密生成的;

解密模块,用于使用公钥对所述预售证书解密得到所述运行限制信息;

加密模块,用于使用产生软件证书的私钥对所述运行限制信息和所述运行环境信息加密生成软件证书;

发送模块,用于将所述软件证书发送给所述代理商设备。

第六方面,本发明实施例还提供了一种厂家设备,包括:

接收模块,用于接收代理商设备发送的预售证书请求,所述预售证书请求包括加密锁的编号和证书的运行限制信息;

获取模块,用于根据所述加密锁的编号获取所述加密锁的私钥;

加密模块,用于使用所述加密锁的私钥对所述运行限制信息加密生成预售证书;

发送模块,用于将所述预售证书发送给所述代理商设备。

第七方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一至三方面任一所述的软件证书的生成方法。

第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一至三方面任一所述的软件证书的生成方法。

第九方面,本发明实施例还提供了一种软件证书生成系统,包括:代理商设备、加密锁和厂家设备,其中,所述代理商设备采用上述第四方面任一所述的设备,所述加密锁采用上述第五方面所述的设备,所述厂家设备采用上述第六方面所述的设备。

本发明通过加密锁这个中间设备生成软件证书,解决了代理商要把用户的相关信息直接发送给厂家导致信息泄露的问题,也避免代理商得到厂家的私钥,提高了软件证书生成的安全性。

附图说明

图1为本发明实施例提供的软件证书的生成方法的流程图;

图2为本发明实施例提供的代理商设备的结构示意图;

图3为本发明实施例提供的加密锁的结构示意图;

图4为本发明实施例提供的厂家设备的结构示意图;

图5为本发明实施例提供的一种计算机设备的结构示意图;

图6为本发明实施例提供的一种软件证书生成系统的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1为本发明实施例提供的软件证书的生成方法的流程图,本实施例可适用于代理商设备、厂家设备以及加密锁三方交互生成软件证书的过程中,该方法可以由代理商设备、厂家设备以及加密锁三方来执行,具体包括如下步骤:

s101、代理商设备向厂家设备发送预售证书请求,该预售证书请求包括加密锁的编号和证书的运行限制信息;

代理商与厂家达成代理协议后,可以先从厂家得到预售证书。运行限制信息可以包括证书的有效期、软件运行的软硬件限制等。

s102、厂家设备根据加密锁的编号获取加密锁的私钥;

本实施例的加密锁是专用于生成软件证书的中间设备,其包括一对公私钥用以进行非对称加解密,代理商在与厂家协商后可以从厂家得到该加密锁和封装在加密锁中的厂家分配给代理商的专属产生软件证书的私钥。厂家设备通过加密锁的编号识别加密锁。

s103、厂家设备使用加密锁的私钥对运行限制信息加密生成预售证书;

除了运行限制信息还可以再加上证书的类型,即用以区别证书的任何明文信息。

s104、厂家设备将预售证书发送给代理商设备;

代理商从厂家得到的预售证书中不包括用户的信息,代理商不需要将用户的环境信息发送给厂家,这样可以确保其用户信息不会被泄露给厂家。

s105、代理商设备获取用户设备的运行环境信息;

软件的用户设备向代理商设备提交运行环境信息希望得到软件证书。

s106、代理商设备将运行环境信息和预售证书发送给加密锁;

运行环境信息可以包括用户设备的硬盘大小、处理器型号、ip地址等信息。预售证书是代理商设备预先从厂家设备那里获取到的,而预售证书是厂家设备使用加密锁的私钥对证书的运行限制信息加密生成的。

s107、加密锁使用公钥对预售证书解密得到运行限制信息;

厂家生成预售证书使用的是加密锁的私钥加密,因此加密锁可以用其公钥解密预售证书得到运行限制信息。

s108、加密锁使用产生软件证书的私钥对运行限制信息和运行环境信息加密生成软件证书;

加密锁使用封装的产生软件证书的私钥对运行限制信息和运行环境信息生成软件证书。

s109、加密锁将软件证书发送给代理商设备。

由于加密锁是中间设备,代理商设备只需要把用户的运行环境信息发送给加密锁,而不需要发送给厂家设备,就不必担心厂家获取到其客户信息。而加密用的产生软件证书的私钥也封装在加密锁中,因此代理商是无法得到该私钥的,也就不用担心私钥的泄露。

本实施例的技术方案,通过加密锁这个中间设备生成软件证书,解决了代理商要把用户的相关信息直接发送给厂家导致信息泄露的问题,也避免代理商得到厂家的私钥,提高了软件证书生成的安全性。

图2为本发明实施例提供的代理商设备的结构示意图,参照图2,该设备包括:获取模块11、发送模块12和接收模块13,其中,获取模块11,用于获取用户设备的运行环境信息;发送模块12,用于将所述运行环境信息和预先获取的预售证书发送给加密锁,所述预售证书是厂家设备使用所述加密锁的私钥对证书的运行限制信息加密生成的;接收模块13,用于接收所述加密锁发送的软件证书,所述软件证书是所述加密锁使用产生软件证书的私钥对所述运行限制信息和所述运行环境信息加密生成的。

在上述技术方案的基础上,所述发送模块12,还用于向所述厂家设备发送预售证书请求,所述预售证书请求包括所述加密锁的编号和所述运行限制信息;所述接收模块13,还用于接收所述厂家设备发送的所述预售证书。

图3为本发明实施例提供的加密锁的结构示意图,参照图3,该设备包括:接收模块21、解密模块22、加密模块23和发送模块24,其中,接收模块21,用于接收代理商设备发送的用户设备的运行环境信息和预售证书,所述预售证书是厂家设备使用加密锁的私钥对证书的运行限制信息加密生成的;解密模块22,用于使用公钥对所述预售证书解密得到所述运行限制信息;加密模块23,用于使用产生软件证书的私钥对所述运行限制信息和所述运行环境信息加密生成软件证书;发送模块24,用于将所述软件证书发送给所述代理商设备。

图4为本发明实施例提供的厂家设备的结构示意图,参照图4,该设备包括:接收模块31、获取模块32、加密模块33和发送模块34,其中,接收模块31,用于接收代理商设备发送的预售证书请求,所述预售证书请求包括加密锁的编号和证书的运行限制信息;获取模块32,用于根据所述加密锁的编号获取所述加密锁的私钥;加密模块33,用于使用所述加密锁的私钥对所述运行限制信息加密生成预售证书;发送模块34,用于将所述预售证书发送给所述代理商设备。

本发明实施例所提供的上述设备可执行本发明任意实施例所提供的软件证书的生成方法,具备执行方法相应的功能模块和有益效果。

图5为本发明实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器40、存储器41、输入装置42和输出装置43;计算机设备中处理器40的数量可以是一个或多个,图5中以一个处理器40为例;计算机设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的软件证书的生成方法对应的程序指令/模块。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的软件证书的生成方法。

存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置42可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述软件证书的生成方法。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的软件证书的生成方法中的相关操作。

图6为本发明实施例提供的一种软件证书生成系统的结构示意图,包括:代理商设备、加密锁和厂家设备,其中,所述代理商设备采用图2所示的设备,所述加密锁采用图3所示的设备,所述厂家设备采用图4所示的设备。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1