软件应用程序发布和验证的方法及装置制造方法及图纸

技术编号:16049046 阅读:84 留言:0更新日期:2017-08-20 08:47
一种软件应用程序发布和验证的方法及装置,用以解决现有技术无法验证软件开发商发布的软件应用与用户安装的软件应用是否一致的技术问题。所述方法应用于软件发布方发布软件应用程序的服务器,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址。

【技术实现步骤摘要】
【国外来华专利技术】软件应用程序发布和验证的方法及装置
本专利技术涉及互联网领域,尤其涉及一种软件应用程序发布和验证的方法及装置。
技术介绍
目前,软件应用程序的应用市场一般是由各个硬件厂商或者系统厂家提供,软件应用的开发商在开发出应用程序后,将应用程序发布到应用市场,以供客户端下载安装。为了对软件应用的发布者进行身份认证,并且保证信息传输的完整性,现有的所有软件应用都要求用证书进行数字签名,客户端用户系统不会安装没有进行签名的软件应用。但是,由于软件应用的开发和提供下载不是同一主体,使得应用市场的提供商可以对软件应用的开发商提供的原始软件应用进行修改,并且自己签名,当软件应用进入客户端本地系统后,在执行安装之前,也无从得知新下载的软件应用是否被本地系统内的其他程序篡改。由上可知,现有技术中,用户无从得知安装的软件应用是否为开发商原始提供的,同时应用程序的开发商对自己发布出去的软件应用也失去了控制权,损害了用户和开发商的相关利益。
技术实现思路
本专利技术的目的是提供一种软件应用程序发布和下载的方法及装置,用以解决现有技术无法验证软件开发商发布的软件应用与用户安装的软件应用是否一致的技术问题。为了实现上述目本文档来自技高网...
软件应用程序发布和验证的方法及装置

【技术保护点】
一种软件应用程序发布方法,其特征在于,所述方法应用于软件发布方发布软件应用程序的服务器,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;所述信息记录签名用于验证发布所述软件应用程序的发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序是否被修改;将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址,其中,所述区块地址用于客户端在所述区块链中查找到所述区块。

【技术特征摘要】
【国外来华专利技术】1.一种软件应用程序发布方法,其特征在于,所述方法应用于软件发布方发布软件应用程序的服务器,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;所述信息记录签名用于验证发布所述软件应用程序的发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序是否被修改;将所述信息记录以及所述信息记录签名写入区块链的区块中,得到区块地址,其中,所述区块地址用于客户端在所述区块链中查找到所述区块。2.根据权利要求1所述的方法,其特征在于,所述信息记录还包括所述软件应用程序的下载地址,所述下载地址用于客户端根据所述下载地址下载所述软件应用程序。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:将所述区块地址以及所述软件应用程序的名称发布到应用市场;或者,将所述区块地址以及所述软件应用程序文件发布到应用市场。4.一种软件应用程序验证方法,其特征在于,所述方法应用于客户端,所述客户端是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述方法包括:从应用市场获取第一软件应用程序对应的区块地址;根据所述区块地址在区块链中查找对应的区块;获取所述区块中存储的第二软件应用程序的信息记录以及信息记录签名,所述信息记录签名是发布方私钥签名所述信息记录得到的,所述信息记录至少包括所述第二软件应用程序的哈希值;根据目标发布方的公钥对所述信息记录签名进行签名验证,其中,若签名验证成功则表明所述第二软件应用程序是所述目标发布方发布的软件应用程序;在签名验证成功后,根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:从所述应用市场获取所述第一软件应用程序文件,其中,所述应用市场提供软件应用程序文件及其对应的区块地址。6.根据权利要求5所述的方法,其特征在于,所述信息记录还包括下载地址,在签名验证成功后,所述方法还包括:根据所述下载地址下载所述第一软件应用程序文件,其中,所述应用市场提供软件应用程序名称及其对应的区块地址。7.根据权利要求5或6所述的方法,其特征在于,所述根据所述哈希值确定所述第一软件应用程序文件是否与所述第二软件应用程序文件一致,包括:计算所述第一软件应用程序文件的哈希值;确定所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值是否一致,其中,若所述第一软件应用程序文件的哈希值与所述信息记录中的哈希值一致,则表明所述第一软件应用程序与所述第二软件应用程序一致。8.一种发布软件应用程序的服务器,其特征在于,所述服务器是区块链网络中的节点,存储有由多个区块组成的区块链,每个区块用于存储信息,所述服务器包括:获取单元,用于获取所述软件应用程序的信息记录,所述信息记录至少包括所述软件应用程序文件的哈希值;签名单元,用于根据所述发布方的私钥对所述信息记录进行签名,得到信息记录签名;所述信息记录签名用于验证发布所述软件应用程序的发布方是否被冒充,所述哈希值用于验证所述发布方发布的所述软件应用程序...

【专利技术属性】
技术研发人员:屠敏欣
申请(专利权)人:深圳前海达闼云端智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1