CN106209754B - 版本控制系统中对软件包自动签名的方法和系统 - Google Patents

版本控制系统中对软件包自动签名的方法和系统 Download PDF

Info

Publication number
CN106209754B
CN106209754B CN201510234751.4A CN201510234751A CN106209754B CN 106209754 B CN106209754 B CN 106209754B CN 201510234751 A CN201510234751 A CN 201510234751A CN 106209754 B CN106209754 B CN 106209754B
Authority
CN
China
Prior art keywords
signature
software package
software
server
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510234751.4A
Other languages
English (en)
Other versions
CN106209754A (zh
Inventor
郭建兴
刘艳彬
张永军
宋潇豫
赵峰
乔咏
申利飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Standard Software Co Ltd
Original Assignee
China Standard Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Standard Software Co Ltd filed Critical China Standard Software Co Ltd
Priority to CN201510234751.4A priority Critical patent/CN106209754B/zh
Publication of CN106209754A publication Critical patent/CN106209754A/zh
Application granted granted Critical
Publication of CN106209754B publication Critical patent/CN106209754B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种在版本控制系统中对软件包进行自动签名的方法,以及一种对软件包进行自动签名的系统。该自动签名方法主要通过搭建一自动签名系统来实现自动签名,自动签名系统主要包括版本控制系统和签名服务系统,签名服务系统主要包括:签名服务客户端、签名中转服务器、签名服务器,默认在版本控制系统服务器中部署签名服务客户端,在版本控制系统中自动触发软件包签名并保存软件包,在制作发行版本时可减少签名环节,节省大量时间,加速版本发布速度。通过构建签名服务系统使软件包签名环境独立出来,且对发行版本的签名密钥对通过密钥数据库进行管理,从而简化签名操作,减少人工干预,实现了自动化签名,同时误操作的可能被消除。

Description

版本控制系统中对软件包自动签名的方法和系统
技术领域
本发明涉及一种对软件包进行签名的的方法及系统。
背景技术
为了证明软件确实是软件开发商发行的,软件签名是一种被广泛使用的方法。软件开发商对其发布的软件进行数字签名,用户可以通过代码签名服务鉴别软件的发布者及软件在传输过程中是否被篡改。软件开发者利用代码签名的抗伪造性,可为其商标和产品建立一定信誉。
Linux发行商通常会使用GPG对发布的软件包进行签名,用户可以通过验证软件包的签名来确保软件包来源的有效性和正当性,防止被恶意篡改。创建带签名的软件包时使用密钥对的私钥进行签名,然后将公钥公布出去,软件用户得到软件包后,通过公钥对软件包进行签名验证。在用GPG对软件包进行签名时,先利用单向加密算法对软件包提取特征码,然后用私钥对特征码进行加密,将加密后的特征码附加到原软件包上,就生成了签名软件包。加密后的特征码就是软件包的签名信息,并且可以单独保存为一个文件,即软件包的签名文件。
以rpm软件包为例,需要经过下面的步骤用GPG完成软件包的签名:
1.用GPG生成密钥对:生成的密钥相关文件一般保存在用户主目录下建立的一个.pgp子目录。密钥中包括密钥对用户、加密密码、公钥和私钥等信息。
2.配置rpm宏:必须在/usr/lib/rpm/macros文件或者在用户主目录下的~/.rpmmacros文件中,设置_pgp_name(使用的密码对用户)、_pgp_path(签名密钥的存放位置)。
3.对软件包文件进行签名:使用命令:rpm --addsign $rpmfile,接下来会提示输入所使用密钥的加密密码。
对于Linux操作系统发行版本,每个发行版一般都会包括几千个软件包,这样对每个软件包进行签名,工作量是巨大的。而常用的方法是只对更新的软件包进行签名,但这也容易发生漏签问题。在制作发行版时,需要将版本控制系统中对应操作系统发行版本的软件包导出,然后对软件包进行签名再构造制作发行版,这中间的软件包签名环节将需要至少几个小时才能完成。
操作系统发行版本,一般分为大版本(如6系列)和大版本基础上的小版本(如6.5)。一个大版本一般需要单独使用一套签名,另一个大版本使用另一套签名。针对上面rpm软件包签名过程中的步骤(2),一套签名的rpm软件包签名环境需要单独配置一套,在同一签名环境下,不可以同时提供两套签名分别为不同发行版本的软件包签名。这样,一个大版本的签名环境就要使用一台服务器来完成签名,当存在多个版本的发行版操作系统时,配置管理员就要管理多台版本管理服务器,维护成本和硬件成本很高。即使是在同一台服务器中,通过使用不同用户配置不同的签名环境,配置管理员也要使用不同的用户管理不同版本的签名环境,维护成本还是很高的。这样复杂的签名环境还会存在误操作的可能,将一个发行版本的软件包签署了另一个发行版本的签名。
操作系统发行版的大小版本的软件包由版本控制服务器统一管理,软件包签名环境也就搭建在版本控制服务器上。这种软件包签名环境也存在安全性问题,版本控制服务器部分权限对外开放,容易被人恶意侵入,盗用签名对非法软件包进行签名操作。
发明内容
有鉴于上述问题,本发明的主要目的,在于提供一种在版本控制系统中对软件包进行自动签名的方法,以及一种对软件包进行自动签名的系统。以简化操作系统发行版本制作流程降低发行成本,并解决因版本控制服务器部分权限对外开放,容易被人恶意侵入,盗用签名对非法软件包进行签名操作的问题。
为实现上述目的,本发明提供的主要方法包括:
搭建一自动签名系统,该自动签名系统主要包括版本控制系统和签名服务系统,签名服务系统主要包括:签名服务客户端、签名服务器;
其中,较佳的该签名服务系统还包含一签名中转服务器。
创建签名系统三个组件间进行连接验证的证书,并分别保存在签名中转服务器、签名服务器和签名服务客户端上;
签名中转服务器是连接的核心,创建验证证书时,以签名中转服务器为CA认证机构,分别为签名服务器和签名服务客户端签发认证证书;
启动签名中转服务器守护进程,等待签名服务客户端和签名服务器的连接;
签名服务器先要创建密钥数据库,并对数据库进行建表等初始化操作,然后启动签名服务器守护进程,连接签名中转服务器;
签名中转服务器接收到签名服务的连接请求,对连接验证证书进行验证,验证通过后建立TLS连接,并一直保持, 此时签名服务就绪,签名中转服务器等待签名服务客户端进行连接并发起请求。
本发明提供的主要方法还包括:
在版本控制系统中编译软件包,并保存编译的软件包,然后触发自动签名,调用签名服务客户端请求签名,并将操作系统发行版本号和编译的原始软件包作为参数传递;
签名服务客户端根据发行版本号从内部维护的列表中提取对应的密钥对用户名,并请求连接签名中转服务器;
签名服务客户端检查是否成功连接,如果连接失败,则显示失败信息并发邮件通知相关管理人员;如果连接成功,则向签名中转服务器发送软件包签名请求,并附带密钥对用户名和软件包作为参数一起发送;
签名中转服务器接收并转发给签名服务器;
签名服务器接收到软件包签名请求,根据传递的签名密钥对用户名,从密钥数据库中提取签名密钥,如果提取失败返回签名失败信息,如果提取成功,则用签名密钥对软件包进行签名操作,生成签名文件和签名软件包文件,然后将签名结果,包括两个文件一起返回签名中转服务器;
签名中转服务器将签名结果转发给签名服务客户端,传送完毕断开与签名服务客户端的连接;
签名服务客户端接收到签名结果,若是签名失败,则显示失败信息并发邮件通知相关管理人员,若签名成功,则将软件包的签名文件和签名软件包保存到版本控制系统中的相应目录中,并显示签名成功信息。
版本控制系统负责对各大小发行版本号内的软件包进行管理,在软件包存储结构上,再为每个软件包添加一个目录,目录名为签名密钥对用户,目录内创建签名文件目录和签名软件包文件目录,两目录内分别存放软件包的签名文件和签名软件包文件。其中,签名文件只保存软件包的签名信息,签名软件包文件是原软件包和签名文件的组合。
本发明提供的一种对软件包进行自动签名的系统,其主要包括:
一版本控制系统, 主要包括一版本控制数据库管理模块,一软件包编译处理模块,一提取发行版软件仓库模块;
一签名服务系统,主要包括签名服务客户端、签名中转服务器、签名服务器,提供GPG密钥对申请,签名请求处理,密钥管理,提取公钥等功能;
上述版本控制系统, 为了实现快速集成构造发行版,在原来软件包存储结构上,再为每个软件包添加一个目录,目录名为签名密钥对用户,目录内创建签名文件目录和签名软件包文件目录,两目录内分别存放软件包的签名文件和签名软件包文件。其中,签名文件只保存软件包的签名信息,签名软件包文件是原软件包和签名文件的组合,这样在构造发行版时直接取签名软件包。
上述版本控制系统中,软件包编译处理模块负责响应软件编译请求并分发给不同的编译机进行编译,编译完成后将软件包储存到相应目录,同时调用版本控制数据库管理模块,将软件包信息及对应的发行版本写入版本控制数据库; 版本控制数据库管理模块负责对多个发行版本及其所包括的软件包信息进行查询添加删除等管理功能; 提取发行版软件仓库模块,负责在构造发行版时,将版本控制库中所管理的对应发行版本号内所包含的所有软件包提取出来组成一个发行仓库,此处添加一个环节,根据是否提取签名软件包参数,来决定是提取原目录的软件包还是提取签名软件包目录中的软件包。
上述签名服务系统, 签名服务客户端负责提出操作请求,并对返回的处理结果进行处理。签名服务客户端可与版本控制系统放在一台服务器中,触发自动签名请求即是调用签名服务客户端提出软件包签名请求。提出的操作请求主要包括密钥对管理请求和软件包签名请求。软件包签名请求需要提供根据发行版本号确定的密钥对用户名参数和原始软件包,然后组成软件包签名请求命令发送给签名中转服务器。密钥对管理请求负责将密钥对的创建、删除等请求命令发送给签名中转服务器。签名服务客户端接收软件包签名结果,将接收到的软件包的签名文件和签名软件包文件按目录结构要求保存到版本控制系统中。
签名服务器负责实际的密钥管理以及软件包签名操作,所有的密钥都保存在其维护的密钥数据库内,为了密钥的安全,签名服务器与外部隔离,只连接签名中转服务器。当通过签名中转服务器接收到传送过来的签名请求时,根据传递的签名密钥对用户参数从密钥数据库中提取该用户对应的私钥,完成对传递过来的软件包的签名,然后将签名文件及签名软件包文件返回给签名中转服务器。密钥数据库保存的信息包括:密钥对标识字符串、密钥对用户名、密钥对、加密后的密钥密码。签名服务器主要包括请求响应处理模块、密钥数据库管理模块、密钥处理模块、软件包签名模块。请求响应处理模块是对签名服务客户端发起的操作请求进行响应并调用相应的处理程序。密钥数据库管理模块负责密钥数据库的初始化,查询、添加、删除密钥等对数据库的操作。密钥处理模块负责实际的创建密钥对、删除密钥、解析密钥等对密钥的处理。软件包签名模块负责从密钥数据库提取密钥,为软件包签名,生成软件包的签名文件和签名软件包文件。
签名中转服务器是签名服务客户端与签名服务器之间的桥梁,负责审核连接请求并建立连接,接收签名服务客户端请求并传递给签名服务器,接收签名服务器的处理结果再返回给签名服务客户端。签名中转服务器与签名服务客户端和签名服务器之间的连接访问使用TLS协议,要求验证连接证书,保障连接安全。
通过上述的技术方案,在制作发行版本时可以减少签名环节,节省大量时间,加速版本发布速度。通过构建签名服务系统,使软件包签名环境独立出来,且对发行版本的签名密钥对通过密钥数据库进行管理,简化了签名操作,减少了人工干预,实现了自动化签名,误操作的可能被消除了。通过中转服务器隔离签名服务器,签名环境的安全性得到了保障。
附图说明
图1为本发明的版本控制系统与签名服务系统的硬件连接示意图;
图2为本发明的签名服务系统的初始化流程图;
图3为本发明的版本控制系统完成软件包编译后触发自动签名后的签名流程图;
图4为本发明的软件包签名后,将软件包的签名文件和签名软件包文件存储到版本控制系统中的目录结构示意图;
图5为本发明的自动签名服务系统结构框图。
附图标记说明
1 自动签名系统
11 版本控制系统服务器
110 版本控制数据库管理模块
111 软件包编译处理模块
112 提取发行版软件包仓库模块
12 签名服务系统
121 签名服务客户端
1210 连接中转服务器模块
1211 软件包签名请求模块
1212 管理密钥对申请模块
1213 软件包签名结果处理模块
122 签名中转服务器
1220 连接证书验证模块
1221 连接控制模块
1222 请求传送模块
1223 处理结果返回模块
123 签名服务器
1230 连接中转服务器模块
1231 请求响应处理模块
1232 密钥数据库管理模块
1233 密钥管理模块
1234 软件包签名模块
13 软件包开发终端
14 软件包编译机。
具体实施方式
请配合参阅图1所示,公开了一个实施例的版本控制系统服务器11与签名服务系统12的硬件连接示意图,签名服务器123只与签名中转服务器122存在网络连接。签名中转服务器122允许有多个签名服务客户端121连接,默认在版本控制系统服务器11中部署签名服务客户端121,从而在软件包编译完后触发自动签名调用签名服务客户端121。版本控制系统服务器11主要负责各版本软件包的管理,软件包开发终端13提交软件包后,版本控制系统服务器11分发软件包到软件包编译机14进行编译,编译完成后将编译结果返回版本控制系统服务器11进行入库处理。
再继续参阅图2所示,公开了一个实施例的签名服务系统12的初始化流程图。首先需要创建签名服务系统12三个组件间进行连接验证的证书,并分别保存在签名中转服务器122、签名服务器123和签名服务客户端121上。因为签名中转服务器122是连接的核心,创建验证证书时,以签名中转服务器122为CA认证机构,分别为签名服务器123和签名服务客户端121签发认证证书。启动签名中转服务器122守护进程,等待签名服务客户端14和签名服务器13的连接。签名服务器123先要创建密钥数据库,并对数据库进行建表等初始化操作,然后启动签名服务器123守护进程,连接签名中转服务器122。签名中转服务器122接收到签名服务器123的连接请求,对连接验证证书进行验证,验证通过后建立TLS连接,并一直保持。此时签名服务就绪,签名中转服务器12等待签名服务客户端14进行连接并发起请求。
图3所示, 是版本控制系统服务器11完成软件包编译后触发自动签名后的签名流程图。在版本控制系统服务器11中对软件包编译完成后,会将编译的软件包保存到相应目录中,并将软件包信息添加到版本控制系统服务器11相应发行版本号的仓库中。然后触发自动签名,调用签名服务客户端121请求签名,并将操作系统发行版本号和编译的原始软件包作为参数传递,签名服务客户端121根据发行版本号从内部维护的列表中提取对应的密钥对用户名。签名服务客户端121请求连接签名中转服务器122,签名中转服务器122验证签名服务客户端121连接证书,如果验证成功,则建立与签名服务客户端121的连接,否则返回连接失败信息。签名服务客户端121检查是否成功连接,如果连接失败,则显示失败信息并发邮件通知相关管理人员;如果连接成功,则向中转服务器122发送软件包签名请求,并附带密钥对用户名和软件包作为参数一起发送。签名中转服务器122接收并转发给签名服务器123。签名服务器123接收到软件包签名请求,根据传递的签名密钥对用户名,从密钥数据库中提取签名密钥,如果提取失败返回签名失败信息,如果提取成功,则用签名密钥对软件包进行签名操作,生成签名文件和签名软件包文件,然后将签名结果,包括两个文件一起返回签名中转服务器122。然后签名中转服务器122将签名结果转发给签名服务客户端121,传送完毕断开与签名服务客户端121的连接。签名服务客户端接121收到签名结果,若是签名失败,则显示失败信息并发邮件通知相关管理人员,若签名成功,则将软件包的签名文件和签名软件包保存到版本控制系统服务器11中的相应目录中,并显示签名成功信息。
图4所示, 是软件包签名后,将软件包的签名文件和签名软件包文件存储到版本控制系统服务器11中的目录结构示意图。与原版本控制系统中存储目录结构相比,添加了“签名密钥对用户名1”目录。“签名密钥对用户名1”目录下分别创建“签名文件目录”用于保存各软件包的签名文件,和“签名软件包目录”用于保存完成签名的软件包。“签名密钥对用户名2”目录是保存的其他发行版本号对应的签名软件包。
软件包存储目录结构并未体现操作发行版本号,这是因为版本控制系统服务器11对操作发行版本号对应仓库中软件包的管理是通过将软件包信息(如软件包名和软件版本号)保存在版本控制系统服务器11维护的数据库中。这样图4中“软件包版本号1”目录中的软件包和“软件包版本号2”目录中的软件包分别属于不同的操作系统发行版本号。在从版本控制系统服务器11中导出发行版本的软件包仓库时,根据版本控制系统服务器11数据库中包括的相应发行版本号的软件包信息从存储目录中提取软件包。如果在导出时要求提取签名软件包时,则将对应“签名密钥对用户名”目录中的软件包提取出来,这样就直接省去了以前在提取软件包后再去对软件包签名的环节,节省了大量时间。
图5所示,是签名服务系统结构框图,图中除签名服务系统12的整个结构外,还将版本控制系统服务器11内涉及软件包自动签名的相关结构进行了说明。
在版本控制系统服务器11中,软件包编译处理模块111负责响应软件编译请求并分发给不同的编译机进行编译,编译完成后将软件包储存到相应目录,同时调用版本控制数据库管理模块110,将软件包信息及对应的发行版本号写入版本控制数据库,为了实现软件包自动签名,在编译完成后添加调用签名服务客户端121进行签名的流程。版本控制数据库管理模块110负责对多个发行版本及其所包括的软件包信息进行查询添加删除等管理功能。提取发行版软件仓库模块112,负责在构造发行版时,将版本控制库中所管理的对应发行版本号内所包含的所有软件包提取出来组成一个发行仓库,此处添加一个环节,根据是否提取签名软件包参数,来决定是提取原目录的软件包还是提取签名软件包目录中的软件包。
签名服务系统12按三个组件分别进行说明。签名服务客户端121分为连接中转服务器模块1210、软件包签名请求模块1211、管理密钥对申请模块1212、软件包签名结果处理模块1213。连接中转服务器模块1210负责在发出操作请求前,先向签名中转服务器122请求连接,并根据连接结果进行反馈。软件包签名请求模块1211负责响应版本控制系统服务器11提出的签名请求,并根据发行版本号查询密钥对用户名参数,然后组成软件包签名请求命令发送给签名中转服务器122。管理密钥对申请模块1212负责组成密钥对的创建、删除等请求命令并发送给签名中转服务器122。软件包签名结果处理模块1213负责接收到签名结果后进行处理,包括将软件包的签名文件和签名软件包文件保存到版本控制系统服务器11的对应目录。
签名中转服务器122分为连接证书验证模块1220、连接控制模块1221、请求传送模块1222、处理结果返回模块1223。连接证书验证模块1220负责对签名服务器123和签名服务客户端121请求连接的证书进行检验。连接控制模块1221负责在签名服务器123和签名服务客户端121连接证书验证通过后建立连接,以及处理断开连接操作。请求传送模块1222负责接收签名服务客户端121的请求命令,并发送给签名服务器123。处理结果返回模块1223负责接收签名服务器123的请求处理结果并传送给签名服务客户端121,然后断开与签名服务客户端121的连接。
签名服务器123分为连接中转服务器模块1230、请求响应处理模块1231、密钥数据库管理模块1232、密钥处理模块1233、软件包签名模块1234。连接中转服务器模块1230负责在服务启动时发起请求连接签名中转服务器122。请求响应处理模块1231是对客户端发起的操作请求进行响应并调用相应的处理程序。密钥数据库管理模块1232负责密钥数据库的初始化,查询、添加、删除密钥等对数据库的操作。密钥处理模块1233负责实际的创建密钥对、删除密钥、解析密钥等对密钥的处理。软件包签名模块1234负责从密钥数据库提取密钥,为软件包签名,生成软件包的签名文件和签名软件包文件。
本发明不限于必须使用签名中转服务器122,也可以签名服务客户端121直接连接签名服务器123。
本发明也不限于必须使用签名服务器123,而可直接在版本控制系统服务器11上通过架设签名密钥数据库,添加签名服务器123的密钥处理模块1233、软件包签名模块1234,来实现自动签名系统1的功能。

Claims (10)

1.一种在版本控制系统中对软件包自动签名的方法,其方法主要包括:
搭建一自动签名系统,
该自动签名系统主要包括版本控制系统和签名服务系统,其中签名服务系统主要包括:签名服务客户端、签名中转服务器、签名服务器,默认在版本控制系统服务器中部署签名服务客户端;
创建签名服务系统三个组件间进行连接验证的证书,以签名中转服务器为CA认证机构,分别为签名服务器和签名服务客户端签发认证证书;
启动签名中转服务器守护进程,等待签名服务客户端和签名服务器的连接;
签名服务器创建密钥数据库,并对数据库进行包括建表在内的初始化操作,然后启动签名服务器守护进程,连接签名中转服务器;
签名中转服务器接收到签名服务的连接请求,对连接验证证书进行验证,验证通过后建立TLS连接,并一直保持, 此时签名服务就绪,签名中转服务器等待签名服务客户端进行连接并发起请求;
版本控制系统负责对各大小发行版本号内的软件包进行管理,在软件包存储结构上,再为每个软件包添加一个目录,目录名为签名密钥对用户,目录内创建签名文件目录和签名软件包文件目录,两目录内分别存放软件包的签名文件和签名软件包文件;其中,签名文件只保存软件包的签名信息,签名软件包文件是原软件包和签名文件的组合;
该版本控制系统主要包括一版本控制数据库管理模块,一软件包编译处理模块,一提取发行版软件仓库模块。
2.如权利要求1所述的对软件包自动签名的方法,其方法还包括:
在版本控制系统中编译软件包,并保存编译的软件包,然后触发自动签名,调用签名服务客户端请求签名,并将操作系统发行版本号和编译的原始软件包作为参数传递;
签名服务客户端根据发行版本号从内部维护的列表中提取对应的密钥对用户名,并请求连接签名中转服务器;
签名服务客户端检查是否成功连接,如果连接失败,则显示失败信息并发邮件通知相关管理人员;如果连接成功,则向签名中转服务器发送软件包签名请求,并附带密钥对用户名和软件包作为参数一起发送;
签名中转服务器接收并转发给签名服务器;
签名服务器接收到软件包签名请求,根据传递的签名密钥对用户名,从密钥数据库中提取签名密钥,如果提取失败返回签名失败信息,如果提取成功,则用签名密钥对软件包进行签名操作,生成签名文件和签名软件包文件,然后将签名结果,包括两个文件一起返回签名中转服务器;
签名中转服务器将签名结果转发给签名服务客户端,传送完毕断开与签名服务客户端的连接;签名服务客户端接收到签名结果,若是签名失败,则显示失败信息并发邮件通知相关管理人员,若签名成功,则将软件包的签名文件和签名软件包保存到版本控制系统中的相应目录中,并显示签名成功信息。
3.如权利要求1所述的对软件包自动签名的方法,其特征在于:
签名中转服务器与客户端和签名服务器之间连接访问使用TLS协议,要求使用证书验证,保障连接安全。
4.一种对软件包进行自动签名的系统,其主要包括:
一版本控制系统, 主要包括一版本控制数据库管理模块,一软件包编译处理模块,一提取发行版软件仓库模块;
一签名服务系统,签名服务系统主要包括:一签名服务客户端、一签名服务器;
默认在版本控制系统服务器中部署签名服务客户端;
在版本控制系统中,软件包编译处理模块负责响应软件编译请求并分发给不同的编译机进行编译,编译完成后将软件包储存到相应目录,同时调用版本控制数据库管理模块,将软件包信息及对应的发行版本写入版本控制数据库;
版本控制数据库管理模块负责对多个发行版本及其所包括的软件包信息进行包括查询、添加和删除在内的管理功能;
提取发行版软件仓库模块,负责在构造发行版时,将版本控制库中所管理的对应发行版本号内所包含的所有软件包提取出来组成一个发行仓库,此处添加一个环节,根据是否提取签名软件包参数,来决定是提取原目录的软件包还是提取签名软件包目录中的软件包。
5.如权利要求4所述的对软件包进行自动签名的系统,其特征在于:
该签名服务系统还包括一签名服务客户端,签名服务客户端包括连接中转服务器模块、软件包签名请求模块、管理密钥对申请模块、软件包签名结果处理模块。
6.如权利要求5所述的对软件包进行自动签名的系统,其特征在于:
该连接中转服务器模块负责在发出操作请求前,先向签名中转服务器请求连接,并根据连接结果进行反馈;
软件包签名请求模块负责响应版本控制系统提出的签名请求,并根据发行版本号查询密钥对用户名参数,然后组成软件包签名请求命令发送给签名中转服务器;
管理密钥对申请模块负责包括组成密钥对的创建和删除在内的请求命令并发送给中转服务器;
软件包签名结果处理模块负责接收到签名结果后进行处理,包括将软件包的签名文件和签名软件包文件保存到版本控制系统对应目录。
7.如权利要求4所述的对软件包进行自动签名的系统,其特征在于:
该签名服务系统还包含一签名中转服务器,该签名中转服务器分为连接证书验证模块、连接控制模块、请求传送模块、处理结果返回模块。
8.如权利要求7所述的对软件包进行自动签名的系统,其特征在于:
连接证书验证模块负责对签名服务器和签名服务客户端请求连接的证书进行检验;
连接控制模块负责在签名服务器和签名服务客户端连接证书验证通过后建立连接,以及处理断开连接操作;
请求传送模块负责接收签名服务客户端的请求命令,并发送给签名服务器;
处理结果返回模块负责接收签名服务器的请求处理结果并传送给签名服务客户端,然后断开与签名服务客户端的连接。
9.如权利要求4所述的对软件包进行自动签名的系统,其特征在于:
该签名服务系统还包含一签名服务器,该签名服务器包括连接中转服务器模块、请求响应处理模块、密钥数据库管理模块、密钥处理模块、软件包签名模块。
10.如权利要求9所述的对软件包进行自动签名的系统,其特征在于:
连接中转服务器模块负责在服务启动时发起请求连接签名中转服务器;
请求响应处理模块是对签名服务客户端发起的操作请求进行响应并调用相应的处理程序;
密钥数据库管理模块负责包括密钥数据库的初始化、查询、添加和删除密钥在内的对数据库的操作;
密钥处理模块负责包括实际的创建密钥对、删除密钥和解析密钥在内的对密钥的处理;
软件包签名模块负责从密钥数据库提取密钥,为软件包签名,生成软件包的签名文件和签名软件包文件。
CN201510234751.4A 2015-05-08 2015-05-08 版本控制系统中对软件包自动签名的方法和系统 Active CN106209754B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510234751.4A CN106209754B (zh) 2015-05-08 2015-05-08 版本控制系统中对软件包自动签名的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510234751.4A CN106209754B (zh) 2015-05-08 2015-05-08 版本控制系统中对软件包自动签名的方法和系统

Publications (2)

Publication Number Publication Date
CN106209754A CN106209754A (zh) 2016-12-07
CN106209754B true CN106209754B (zh) 2019-01-22

Family

ID=57459403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510234751.4A Active CN106209754B (zh) 2015-05-08 2015-05-08 版本控制系统中对软件包自动签名的方法和系统

Country Status (1)

Country Link
CN (1) CN106209754B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426149A (zh) * 2017-03-30 2017-12-01 深圳市元征科技股份有限公司 软件包生成方法及系统
CN107231367B (zh) * 2017-06-21 2021-03-19 北京奇虎科技有限公司 签名消息的自动通知方法、装置以及服务器
CN107908975A (zh) * 2017-11-30 2018-04-13 北京关键科技股份有限公司 基于数字签名的软件技术状态控制系统
US20210235268A1 (en) * 2018-06-01 2021-07-29 Telefonaktiebolaget Lm Ericsson (Publ) Methods and nodes for authentication of a tls connection
CN110737878B (zh) * 2018-07-19 2023-12-22 深圳市鸿合创新信息技术有限责任公司 自动配置应用软件的数字签名的方法及系统、电子设备
CN111046436A (zh) * 2018-10-11 2020-04-21 中国人民解放军战略支援部队航天工程大学 基于系统级包管理的签名认证方法及服务器
CN110750763A (zh) * 2019-10-22 2020-02-04 北京联合信任技术服务有限公司 代码签名的方法、设备、存储介质和程序产品
CN113037494B (zh) * 2021-03-02 2023-05-23 福州汇思博信息技术有限公司 一种烧片镜像文件签名方法及终端
CN113254965B (zh) * 2021-06-04 2021-12-07 统信软件技术有限公司 一种软件包加密方法、计算设备及储存介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420325A (zh) * 2008-11-21 2009-04-29 华为技术有限公司 一种软件包的自动部署方法、装置和系统
CN101753539A (zh) * 2008-12-01 2010-06-23 北京大学 一种网络数据存储方法及服务器
CN102024107A (zh) * 2010-11-17 2011-04-20 中国联合网络通信集团有限公司 应用软件控制平台、开发者终端、分发系统及方法
CN102469114A (zh) * 2010-11-08 2012-05-23 北京汉铭通信有限公司 开放式移动终端微件应用平台及其实现方法,服务器
CN103338450A (zh) * 2013-06-26 2013-10-02 华为技术有限公司 一种验证方法及设备
CN104133767A (zh) * 2014-07-23 2014-11-05 天脉聚源(北京)科技有限公司 一种软件开发进程监管方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420325A (zh) * 2008-11-21 2009-04-29 华为技术有限公司 一种软件包的自动部署方法、装置和系统
CN101753539A (zh) * 2008-12-01 2010-06-23 北京大学 一种网络数据存储方法及服务器
CN102469114A (zh) * 2010-11-08 2012-05-23 北京汉铭通信有限公司 开放式移动终端微件应用平台及其实现方法,服务器
CN102024107A (zh) * 2010-11-17 2011-04-20 中国联合网络通信集团有限公司 应用软件控制平台、开发者终端、分发系统及方法
CN103338450A (zh) * 2013-06-26 2013-10-02 华为技术有限公司 一种验证方法及设备
CN104133767A (zh) * 2014-07-23 2014-11-05 天脉聚源(北京)科技有限公司 一种软件开发进程监管方法及装置

Also Published As

Publication number Publication date
CN106209754A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN106209754B (zh) 版本控制系统中对软件包自动签名的方法和系统
US11283617B2 (en) Systems and methods for state of data management
CN106874461B (zh) 一种工作流引擎支持多数据源配置安全访问系统及方法
CN108989346B (zh) 基于账号隐匿的第三方有效身份托管敏捷认证访问方法
CN110149316B (zh) 一种区块链的发布方法及装置
CN109634619A (zh) 可信执行环境实现方法及装置、终端设备、可读存储介质
JP4040886B2 (ja) コンテンツ管理システムおよびコンテンツ管理方法
CN112187466B (zh) 一种身份管理方法、装置、设备及存储介质
WO2010072086A1 (zh) 用于家庭网关的密钥证书生成方法和系统
CN104125230A (zh) 一种短信认证服务系统以及认证方法
CN112231755A (zh) 一种基于区块链的数据授权方法、装置及系统
CN112202713A (zh) 一种Kubernetes环境下用户数据安全保护方法
CN116015856A (zh) 基于区块链数字身份的数据流转方法及装置
US8732456B2 (en) Enterprise environment disk encryption
CN102752308A (zh) 通过网络提供数字证书综合业务系统及其实现方法
CN109450643B (zh) Android平台上基于native服务实现的签名验签方法
US20240163267A1 (en) Data transmission method, internet of things system, electronic device, and storage medium
TWI723622B (zh) 能夠安全地存取及刪除資料的資料管理方法及系統
CN114822796A (zh) 基于智能合约的疫苗分配管理系统、方法及合约平台
JP2000207362A (ja) ネットワ―クシステム及びネットワ―クシステムにおけるユ―ザ認証方法
US20220078176A1 (en) Method for connecting a computer application to a secure computer resource
KR20210053567A (ko) 블록체인 환경에서 인증서 부당 사용 검증 방법 및 이를 위한 시스템
CN116881952B (zh) 一种基于文件流的加解密的方法、系统
JP7158690B2 (ja) 情報処理システム、及びプログラム
CN111953495B (zh) 一种电子签名混合云场景下无私钥签署方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant