CN112865956B - 证书更新方法、装置、终端设备和服务器 - Google Patents
证书更新方法、装置、终端设备和服务器 Download PDFInfo
- Publication number
- CN112865956B CN112865956B CN201911174420.0A CN201911174420A CN112865956B CN 112865956 B CN112865956 B CN 112865956B CN 201911174420 A CN201911174420 A CN 201911174420A CN 112865956 B CN112865956 B CN 112865956B
- Authority
- CN
- China
- Prior art keywords
- certificate
- file
- updating
- application program
- server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000004590 computer program Methods 0.000 claims description 34
- 238000012795 verification Methods 0.000 claims description 16
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 28
- 230000001960 triggered effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例适用于信息技术领域,提供了一种证书更新方法、装置、终端设备和服务器,所述方法包括:当终端设备接收到服务器推送的针对目标应用程序的证书更新信息时,获取与所述证书更新信息相对应的证书更新文件;采用所述证书更新文件对所述目标应用程序的证书文件进行更新。由于本实施例的证书更新过程由服务器端触发,在服务器检测到存在新的证书文件后,可以及时地指令终端设备对证书文件进行更新,整个过程不依赖于应用程序的版本升级,在服务器端的证书文件更新后,即使不升级应用程序的版本,也不会影响用户对该应用程序的正常使用,降低了证书更新的难度,提高了更新效率。
Description
技术领域
本申请属于信息技术领域,尤其涉及一种证书更新方法、装置、终端设备和服务器。
背景技术
证书锁定是在开放式Web应用程序安全项目(Open Web Application SecurityProject,OWASP)的移动安全测试指南中提出的。该指南指出:应当通过证书锁定,防止中间人攻击窃取在客户端与服务器之间传输的敏感数据。
目前,业内有多种方法实施证书锁定。例如,有的厂商直接把服务器证书编码在应用程序代码中,有的厂商则把服务器证书的哈希值编码在代码中。但是,按照行业规范,商业认证中心(Certificate Authority,CA)签发的服务器证书有效期一般不能超过3年。无论采用上面哪种实现方式,在服务器证书到期后,应用程序必须通过升级新版本更新服务器证书才能与服务器正常通信。
由于应用程序的新版本从发布到用户完成升级的周期较长,按照上述方式更新服务器证书将会严重影响用户对应用程序的正常使用,对于不希望升级应用程序的用户也会造成业务不可用。
发明内容
本申请实施例提供了一种证书更新方法、装置、终端设备和服务器,能够在不升级应用程序版本的情况下,实现对证书的更新。
第一方面,本申请实施例提供了一种证书更新方法,应用于终端设备,所述方法包括:
当接收到服务器推送的针对目标应用程序的证书更新信息时,获取与所述证书更新信息相对应的证书更新文件;
采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
示例性的,证书更新信息中可以携带有文件地址信息,终端设备可以从证书更新信息中提取出文件地址信息,然后从对应的地址下载证书更新文件。
应理解,文件地址信息也可以为内容分发网络地址信息,在下载并发量非常大的情况下,引入内容分发网络,可以提高证书更新文件的下载速度。
示例性的,终端设备中可以运行证书提供组件,若终端设备中安装有多个使用相同证书文件的应用程序,在下载一次证书更新文件后,可以通过证书提供组件将下载的证书更新文件提供给其他应用程序,只需一次下载即可更新多个应用程序使用的证书文件,减少终端设备与服务之前的交互次数。
示例性的,为了保证证书文件在更新过程中的安全性,服务器可以对证书更新文件进行签名,终端设备在接收到证书更新文件后,可以在校验文件签名正确后,才对证书文件进行更新,保证了应用程序的安全性。
应理解,通过服务器推送证书更新信息可能存在推送消息丢失的问题,因此,终端设备也可以定期主动向服务器发送查询指令,主动查询服务器内存储的证书文件是否更新,保证证书更新的及时性。
第二方面,本申请实施例提供了一种证书更新方法,应用于服务器,所述方法包括:
当检测到针对目标应用程序的证书更新文件时,生成与所述证书更新文件相对应的证书更新信息;
将所述证书更新信息推送至终端设备;
当接收到所述终端设备发送的下载所述证书更新文件的请求时,将所述证书更新文件对应的文件包发送至所述终端设备,所述终端设备用于采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
第三方面,本申请实施例提供了一种证书更新装置,应用于终端设备,所述装置包括:
获取模块,用于在接收到服务器推送的针对目标应用程序的证书更新信息时,获取与所述证书更新信息相对应的证书更新文件;
更新模块,用于采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
第四方面,本申请实施例提供了一种证书更新装置,应用于服务器,所述装置包括:
生成模块,用于在检测到针对目标应用程序的证书更新文件时,生成与所述证书更新文件相对应的证书更新信息;
推送模块,用于将所述证书更新信息推送至终端设备;
发送模块,用于在接收到所述终端设备发送的下载所述证书更新文件的请求时,将所述证书更新文件对应的文件包发送至所述终端设备,所述终端设备用于采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
第五方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的证书更新方法。
第六方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第二方面所述的证书更新方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被终端设备的处理器执行时实现上述第一方面所述的证书更新方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被服务器的处理器执行时实现上述第二方面所述的证书更新方法。
第九方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的证书更新方法。
第十方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在服务器上运行时,使得服务器执行上述第二方面所述的证书更新方法。
与现有技术相比,本申请实施例包括以下有益效果:
本申请实施例,当终端设备接收到服务器推送的针对目标应用程序的证书更新信息时,可以获取与该证书更新信息相对应的证书更新文件,并采用证书更新文件对目标应用程序的证书文件进行更新。由于本实施例的证书更新过程由服务器端触发,在服务器检测到存在新的证书文件后,可以及时地指令终端设备对证书文件进行更新,整个过程不依赖于应用程序的版本升级,在服务器端的证书文件更新后,即使不升级应用程序的版本,也不会影响用户对该应用程序的正常使用,降低了证书更新的难度,提高了更新效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的证书更新方法所适用于的手机的硬件结构示意图;
图2是本申请一实施例提供的证书更新方法所适用于的手机的软件结构示意图;
图3是本申请一实施例提供的证书更新方法的示意性步骤流程图;
图4是本申请另一实施例提供的证书更新方法的示意性步骤流程图;
图5是本申请又一实施例提供的证书更新方法的示意性步骤流程图;
图6是本申请一实施例提供的证书更新架构示意图;
图7是本申请另一实施例提供的证书更新架构示意图;
图8是本申请一实施例提供的证书更新过程示意图;
图9是本申请一实施例提供的证书更新过程组件交互示意图;
图10是本申请一实施例提供的证书更新装置的结构框图;
图11是本申请另一实施例提供的证书更新装置的结构框图;
图12是本申请一实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例提供的证书更新方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
以终端设备为手机为例。图1示出的是与本申请实施例提供的手机的部分结构的框图。参考图1,手机包括:射频(Radio Frequency,RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,Wi-Fi)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对手机的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现手机的输入和输出功能。
手机100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与手机之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。
Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了Wi-Fi模块170,但是可以理解的是,其并不属于手机100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
手机100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机100还可以包括摄像头。可选地,摄像头在手机100的上的位置可以为前置的,也可以为后置的,本申请实施例对此不作限定。
可选地,手机100可以包括单摄像头、双摄像头或三摄像头等,本申请实施例对此不作限定。
例如,手机100可以包括三摄像头,其中,一个为主摄像头、一个为广角摄像头、一个为长焦摄像头。
可选地,当手机100包括多个摄像头时,这多个摄像头可以全部前置,或者全部后置,或者一部分前置、另一部分后置,本申请实施例对此不作限定。
另外,尽管未示出,手机100还可以包括蓝牙模块等,在此不再赘述。
图2是本申请实施例的手机100的软件结构示意图。以手机100操作系统为Android系统为例,在一些实施例中,将Android系统分为四层,分别为应用程序层、应用程序框架层(framework,FWK)、系统层以及硬件抽象层,层与层之间通过软件接口通信。
如图2所示,所述应用程序层可以包括一系列应用程序包,应用程序包可以包括短信息,日历,相机,视频,导航,图库,通话等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数,例如用于接收应用程序框架层所发送的事件的函数。
如图2所示,应用程序框架层可以包括窗口管理器、资源管理器以及通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
应用程序框架层还可以包括:
视图系统,所述视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供手机100的通信功能。例如通话状态的管理(包括接通,挂断等)。
系统层可以包括多个功能模块。例如:传感器服务模块,物理状态识别模块,三维图形处理库(例如:OpenGL ES)等。
传感器服务模块,用于对硬件层各类传感器上传的传感器数据进行监测,确定手机100的物理状态;
物理状态识别模块,用于对用户手势、人脸等进行分析和识别;
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
系统层还可以包括:
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
硬件抽象层是硬件和软件之间的层。硬件抽象层可以包括显示驱动,摄像头驱动,传感器驱动等,用于驱动硬件层的相关硬件,如显示屏、摄像头、传感器等。
为了规避服务器证书有效期较短的问题,有人提出可以直接锁定服务器证书中的公钥,当服务器证书到期时再使用同样的密钥对重新申请服务器证书,这样能够在一定程度上防止证书到期后应用程序无法与服务器正常通信的问题。但当服务器证书对应的私钥泄露时,服务器必须重新生成公私密钥对来申请新的证书,否则就会面临有人利用泄露的私钥窃取客户端与服务器之间传输的敏感数据的问题。因此,当出现由于服务器私钥泄露导致必须更换证书密钥对时,应用程序也必须通过升级的方式更新锁定的公钥,才能保证应用程序与服务器之间的安全通信。再后来,由于根证书的有效期通常在十年以上,基本上超过了应用程序的生命周期,大部分应用程序开始锁定CA机构的根证书来保证应用程序与服务器的通信。但根证书有时也会因为某些原因导致不可用,如根证书私钥泄露或被浏览器厂商禁用等等,此时要更换锁定的证书也只能通过升级应用程序来实现。
因此,提出了本申请实施例提供的证书更新方法的核心构思在于,在服务器证书更新后,由服务器主动向终端设备和应用程序推送更新信息,通知终端设备和应用程序及时更新证书文件,证书更新过程由服务器端触发,整个过程不依赖于应用程序的版本升级,降低了证书更新的难度,提高了更新效率。
以下实施例可以在具有上述硬件结构/软件结构的手机100上实现。以下实施例将以手机100为例,对本申请实施例提供的证书更新方法进行说明。
参照图3,示出了本申请一实施例提供的证书更新方法的示意性步骤流程图,作为示例而非限定,该方法可以应用于上述手机100中,该方法具体可以包括如下步骤:
S301、当接收到服务器推送的针对目标应用程序的证书更新信息时,获取与所述证书更新信息相对应的证书更新文件;
在本实施例中,针对目标应用程序的证书更新信息可以是由服务器推送给终端设备的。终端设备在接收到上述证书更新信息后,可以从指定的位置下载更新后的证书文件即证书更新文件,并采用更新后的证书文件对当前正在使用的证书文件进行更新。因此,本实施例是通过服务器与终端设备之间的交互,来完成证书文件的整个更新过程。
上述目标应用程序可以是安装于终端设备中的任一应用程序。当该应用程序对应的服务器端更新了证书文件后,例如管理员将新的证书文件上传至了服务器中,服务器可以检测到新的证书文件,然后向终端设备推送证书更新信息,指示终端设备及时更新目标应用程序的证书。
在具体实现中,终端设备在接收到服务器推送的证书更新信息后,可以从指定位置下载更新后的证书文件。例如,终端设备可以直接从推送上述信息的服务器下载证书文件,也可以从服务器指定的用于存储证书文件的内容分发网络(Content deliverynetwork,CDN)下载证书文件,本实施例对此不作限定。
S302、采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
终端设备在获取到证书更新文件后,可以采用证书更新文件替换掉目标应用程序当前正在使用的证书文件,完成证书文件的更新。
在本申请实施例中,当终端设备接收到服务器推送的针对目标应用程序的证书更新信息时,可以获取与该证书更新信息相对应的证书更新文件,并采用证书更新文件对目标应用程序的证书文件进行更新。由于本实施例的证书更新过程由服务器端触发,在服务器检测到存在新的证书文件后,可以及时地指令终端设备对证书文件进行更新,整个过程不依赖于应用程序的版本升级,在服务器端的证书文件更新后,即使不升级应用程序的版本,也不会影响用户对该应用程序的正常使用,降低了证书更新的难度,提高了更新效率。
参照图4,示出了本申请另一实施例提供的证书更新方法的示意性步骤流程图,该方法具体可以包括如下步骤:
S401、当接收到服务器推送的针对目标应用程序的证书更新信息时,提取所述证书更新信息中携带的文件地址信息;
需要说明的是,本实施例是从终端设备侧来对本方法进行介绍的。即,本实施例的执行主体为终端设备。例如,终端设备可以是手机。
当服务器端检测到针对目标应用程序的证书文件有更新时,例如,当服务器检测到管理员上传了证书更新文件后,服务器可以向安装有目标应用程序的终端设备推送证书更新信息,告知终端设备和目标应用程序需要对证书文件进行更新。
终端设备在接收到上述证书更新信息后,可以从该信息中提取出相应的文件地址信息,获得证书更新文件的获取路径。
通常,安装有目标应用程序的终端设备上可以运行有证书提供组件Provider,该组件可以协助应用程序完成证书文件的更新。
在具体实现中,证书提供组件Provider可以提供证书文件的查询服务,向应用程序提供获取证书文件的路径等等。
因此,终端设备在接收到服务器推送的证书更新信息时,可以首先判断终端设备当前是否运行有证书提供组件Provider。若是,则可以直接通过识别Provider对应的证书获取路径,然后从该路径获取证书更新文件。如果终端设备当前并未运行有证书提供组件Provider,则可以首先启动证书提供组件Provider的运行,然后再提取证书更新信息中携带的文件地址信息,按照该地址信息的指示获取更新后的证书文件。
需要说明的是,终端设备中可能安装有多个使用相同证书文件的应用程序,这些应用程序可以看作是关联应用程序。例如,由同一厂商开发的多个不同的应用程序。
在证书提供组件Provider启动后,关联应用程序可以通过Provider获取到更新后的证书文件,从而减少从服务器下载证书更新文件的次数,减少终端设备与服务器之间的交互过程。
S402、从所述文件地址信息对应的地址下载所述证书更新文件;
终端设备在提取出证书更新信息中携带的地址信息后,可以从该地址信息对应的地址下载证书更新文件。通常,该地址信息可以指向服务器。
在本申请实施例中,如果需要下载证书更新文件的应用程序或终端设备的数量非常多,导致下载的并发量大,如果直接通过服务器下载可能速度会较慢。因此,为了应对下载并发量大的情况,服务器可以将需要下载的证书更新文件发送至CDN网络,并将CDN网络的地址信息写入证书更新信息中,由终端设备通过CDN网络进行证书更新文件的下载。
因此,在本实施例中,上述文件地址信息可以包括内容分发网络地址信息,当终端设备从证书更新信息中提取出内容分发网络地址信息后,可以从该内容分发网络地址信息对应的内容分发网络服务器下载证书更新文件。
S403、对所述证书更新文件的文件签名进行校验;
通常,为了防止数据在传输过程中被非法篡改,服务器在向终端设备发送证书更新文件前需要对文件进行签名,然后将签名值和证书文件打包一起发送至终端设备。
因此,终端设备在接收到证书更新文件后,需要对文件签名进行校验,以确认该文件是否正确。如果文件签名校验未通过,则可以直接丢弃上述证书更新文件。
终端设备在对文件进行校验时,可以通过公私密钥对的方式来进行。其中,私钥由服务器保管,公钥由服务器发送至终端设备,公钥和私钥配对使用,其中私钥用于服务器对文件的签名,而公钥则在终端设备侧用于对签名后的文件进行校验。
因此,终端设备可以读取服务器预先下发的验证公钥,并采用该公钥对证书更新文件的文件签名进行校验。
需要说明的是,上述介绍的对文件签名的校验仅为本实施例提供的一种示例。本领域技术人员应当明白,还可以采用其他方式对文件签名进行校验,例如,通过使用专用的签名证书来对证书更新文件的签名进行校验,确认接收到的文件是否正确。本实施例对此不作限定。
S404、若所述文件签名校验通过,则采用所述证书更新文件替换所述目标应用程序的证书文件。
如果文件签名校验通过,可以认为当前接收到的证书更新文件是正确的。此时,可以采用该文件替换掉目标应用程序当前正在使用的证书文件,完成整个证书更新过程。
需要说明的是,由服务器主动向终端设备推送证书更新信息,也可能因为某些原因导致推送不成功,终端设备无法准确地接收到证书更新信息的情况。
因此,作为本实施例的一种示例,终端设备可以主动向服务器查询证书文件是否有更新。
例如,如果终端设备在指定期限内,如每个月或每周,未接收到服务器推送的证书更新信息,可以主动向服务器发送查询指令,查询服务器内存储的证书文件是否有更新。如果有更新,则可以获取更新后的证书文件,并替换掉当前正在使用的证书文件。
在本申请实施例中,服务器端可以通过文件签名的方式对证书更新文件提供保护,终端设备在下载证书更新文件后,通过对文件签名进行校验,只有通过校验的文件才会被更新,防止了证书文件在更新过程中被植入恶意证书,确保被篡改的证书文件不会应用到应用程序中。其次,终端设备可以通过CDN网络下载证书更新文件,在下载的并发量非常大的情况下,通过CDN网络能够加快下载速度,提高更新效率。第三,针对服务器推送的证书更新信息可能丢失的情况,终端设备可以定期主动查询服务器中的证书文件是否有更新,进一步使得证书文件能够及时地在终端设备上被更新,保证了应用程序的正常业务运行。第四,如果一个终端设备上安装有多个使用相同证书文件的关联应用程序,按照本实施例提供的方法只需下载一次证书更新文件,即可完成所有关联应用程序的证书文件的更新,减少了终端设备与服务器之间的交互次数。
参照图5,示出了本申请又一实施例提供的证书更新方法的示意性步骤流程图,该方法具体可以包括如下步骤:
S501、当检测到针对目标应用程序的证书更新文件时,生成与所述证书更新文件相对应的证书更新信息;
需要说明的是,本实施例是从服务器侧对本方法进行的介绍。即本实施例的执行主体为服务器。
在本实施例中,证书更新文件可以是由证书管理员上传至服务器中的,服务器在检测到有新的证书文件时,可以及时地生成证书更新信息,以告知终端设备和目标应用程序,需要尽快证书更新文件。
S502、将所述证书更新信息推送至终端设备;
服务器生成证书更新信息后,可以将该更新信息推送至终端设备,通知终端设备证书更新文件。
在本实施例中,为了方便终端设备下载证书更新文件,在服务器推送的证书更新信息中可以携带有存储该证书更新文件的地址信息。
在具体实现中,服务器在接收到证书管理员上传的证书更新文件后,可以对该证书更新文件进行文件签名,获得签名值,并在将签名值与证书更新文件封装为文件包后,对文件包进行存储,然后获得存储该文件包的地址。
服务器可以使用私钥对证书更新文件进行签名,这样在文件包被发送至终端设备后,终端设备可以使用与该私钥对应的公钥进行校验,以确认文件包的安全性。
S503、当接收到所述终端设备发送的下载所述证书更新文件的请求时,将所述证书更新文件对应的文件包发送至所述终端设备,所述终端设备用于采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
终端设备在接收到上述证书更新信息后,可以向服务器发送下载证书更新文件的请求,请求从服务器下载更新后的证书文件。
需要说明的是,在文件下载并发量非常大时,如果终端设备直接从服务器下载证书更新文件,耗时可能会非常长。因此,服务器可以将封装有更新后的证书文件的文件包发送至CDN网络服务器,由终端设备向CDN网络服务器请求下载更新后的证书文件,以加快证书文件的下载速度。
在本申请实施例中,证书文件的更新过程由云端服务器触发,在证书管理员上传更新后的证书文件后,证书文件的下载、校验、更新过程完全自动化,不依赖于应用程序的版本升级,能够满足业务的实时性要求。其次,本实施例中更新后的证书文件在下载至终端设备前,由服务器通过私钥签名保护,保证了证书文件在更新过程中不会被篡改,保证证书文件的安全性。
为了便于理解,下面结合附图,以一个完整的示例对本实施例的证书更新方法作一详细介绍。
如图6所示,是本申请一实施例的证书更新架构示意图。按照图6所示的架构,本实施例是通过终端设备侧的证书软件开发工具包(Software Development Kit,SDK)与证书管理服务器之间的互动来实现证书在线自动更新的,在应用程序集成有证书SDK后,可以不需要升级应用程序版本即可实现证书文件的在线更新。
首先介绍终端设备侧和服务器侧各自涉及到的组件。其中,服务器侧涉及到的组件包括:
证书管理服务器,该服务器即是用于证书管理员上传证书更新文件,并对证书更新文件进行完整性保护,同时响应终端设备端侧证书SDK的证书查询及证书更新文件的下载。
推送组件Push Server,当服务器侧的证书文件更新时,证书管理员可以通过PushServer推送证书更新消息给各端侧设备。
内容分发网络服务器CDN Server,该组件属于可选组件,如果下载的并发量非常大,可以引入CDN Server对证书更新文件的查询及下载进行加速,证书管理服务器可以把打包的文件推送到CDN Server,后续证书SDK可以直接通过CDN Server下载更新后的证书文件,加快下载速度。
终端设备侧涉及到的组件包括:
证书SDK,用于证书更新文件的定时更新查询、下载,证书更新文件的完整性校验等等。
推送消息接收组件Push Agent,与Push Server对应,用于接收Push Server推送的Push消息。当接收到证书文件更新信息时,通知证书SDK下载更新后的证书文件。
证书提供组件Provider,用于提供终端设备侧的证书更新文件查询服务,当终端设备中安装有多个使用相同证书文件的应用程序时,其他应用程序可以通过证书Provider查询证书更新文件的存放位置,从而获取证书更新文件。
在图6所示的架构基础上,如图7所示,示出了本申请另一实施例的证书更新架构示意图。与图6相比,图7所示的架构可以支持安装于同一终端设备上使用相同证书文件的多个应用程序仅下载一次证书文件,其他多个应用程序可以通过Provider获取到更新后的证书文件,并使用该证书文件替换到原来的证书文件。
结合图6和图7,如图8所示,示出了本申请一实施例的证书更新过程示意图。首先,需要更新的证书文件可以是由证书管理员上传至证书管理服务器的。服务器侧可以提供对证书更新文件进行签名的能力,在应用程序下载前完成签名保护,防止证书更新文件在更新过程中被植入恶意证书,以及文件被破坏影响业务正常运行。在完成对证书更新文件的签名后,证书管理服务器可以通过Push Server推送证书更新信息至终端设备侧。终端设备侧的Push Agent接收到推送消息后,通知证书SDK,由证书SDK检测证书Provider是否存在。如果存在,则直接从证书Provider指定的路径获取需要更新的证书文件;如果证书Provider不存在,证书SDK可以拉起证书Provider,同时从服务器下载需要更新的证书文件。在获取到需要更新的证书文件后,证书SDK应当对该文件的签名进行校验,确保被篡改的证书更新文件不会应用到应用程序中。如果校验通过,则可以使用新的证书文件替换掉原来的文件;否则,可以直接丢弃获取到的文件。
为了进一步说明各组件之间的交互关系,如图9所示,示出了本申请一实施例的证书更新过程组件交互示意图。各个组件之间的交互过程可以包括:
1.管理员把待更新的证书文件上传到证书管理服务器;
2.证书管理服务器使用签名私钥对证书更新文件进行数字签名,同时把签名值与证书更新文件打包。为了解决下载证书更新文件时的并发量非常大,导致下载速度较慢的问题,可以引入CDN Server对证书更新文件的查询及下载进行加速,证书管理服务器需要把打包的证书更新文件推送到CDN Server;
3.证书管理服务器调用Push Server接口推送证书文件更新消息;
4.Push Agent收到证书文件更新消息时通知证书SDK;
5.证书SDK首先会查询本地的证书Provider服务是否存在,若存在则根据证书Provider提供的证书文件路径获取证书更新文件;若Provider不存在,则拉起证书Provider服务,并从Push消息中获取证书更新文件的地址URL;
6.证书SDK根据从Push消息中获取的URL下载需要更新的证书文件;
7.证书SDK首先验证证书更新文件的签名是否正确,若不正确则丢弃该文件;若正确则使用新得到的证书文件替换原来的文件;另外,如果证书SDK在指定期限(如每个月或每周)内未接收到证书更新消息,可以主动到证书管理服务器(或CDN Server)查询证书文件是否有更新,若有更新则进行下载,其过程与接收到证书文件更新消息时的处理过程相同。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的证书更新方法,图10示出了本申请一实施例提供的证书更新装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图10,该装置可以应用于终端设备中,具体可以包括如下模块:
获取模块1001,用于在接收到服务器推送的针对目标应用程序的证书更新信息时,获取与所述证书更新信息相对应的证书更新文件;
更新模块1002,用于采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
在本申请实施例中,所述获取模块1001具体可以包括如下子模块:
地址信息提取子模块,用于提取所述证书更新信息中携带的文件地址信息;
证书文件下载子模块,用于从所述文件地址信息对应的地址下载所述证书更新文件。
在本申请实施例中,所述文件地址信息可以包括内容分发网络地址信息,相应地,所述证书文件下载子模块具体可以包括如下单元:
证书文件下载单元,用于从所述内容分发网络地址信息对应的内容分发网络服务器下载所述证书更新文件。
在本申请实施例中,所述获取模块1001还可以包括如下子模块:
组件判断子模块,用于判断终端设备当前是否运行有证书提供组件;
证书文件获取子模块,用于若所述终端设备当前运行有所述证书提供组件,则识别所述证书提供组件对应的证书获取路径,从所述证书获取路径获取所述证书更新文件;
调用子模块,用于若所述终端设备当前未运行所述证书提供组件,则执调用所述地址信息提取子模块和所述证书文件下载子模块。
在本申请实施例中,所述获取模块1001还可以包括如下子模块:
组件启动子模块,用于若所述终端设备当前未运行所述证书提供组件,则启动所述证书提供组件,所述证书提供组件用于向所述目标应用程序的关联应用程序提供所述证书更新文件,所述关联应用程序与所述目标应用程序使用相同的证书文件。
在本申请实施例中,所述更新模块1002具体可以包括如下子模块:
文件签名校验子模块,用于对所述证书更新文件的文件签名进行校验;
证书文件替换子模块,用于若所述文件签名校验通过,则采用所述证书更新文件替换所述目标应用程序的证书文件;
证书文件丢弃子模块,用于若所述文件签名校验未通过,则丢弃所述证书更新文件。
在本申请实施例中,所述文件签名校验子模块具体可以包括如下单元:
文件签名校验单元,用于读取所述服务器预先下发的验证公钥,采用所述验证公钥对所述证书更新文件进行校验。
在本申请实施例中,所述装置还可以包括如下模块:
查询模块,用于向所述服务器发送查询指令,所述查询指令用于查询所述服务器内存储的证书文件是否更新;
所述获取模块1001还用于在查询到所述服务器内存储的证书文件已更新时,获取更新后的证书文件。
如图11所示,示出了本申请另一实施例提供的证书更新装置的结构框图,该装置可以应用于服务器中,具体可以包括如下模块:
生成模块1101,用于在检测到针对目标应用程序的证书更新文件时,生成与所述证书更新文件相对应的证书更新信息;
推送模块1102,用于将所述证书更新信息推送至终端设备;
发送模块1103,用于在接收到所述终端设备发送的下载所述证书更新文件的请求时,将所述证书更新文件对应的文件包发送至所述终端设备,所述终端设备用于采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
在本申请实施例中,所述装置还可以包括如下模块:
文件签名模块,用于对所述证书更新文件进行文件签名,获得签名值;
文件封装模块,用于将所述签名值与所述证书更新文件封装为文件包。
在本申请实施例中,所述装置还可以包括如下模块:
文件包分发模块,用于将所述文件包发送至内容分发网络服务器,所述内容分发网络服务器用于在接收到终端设备下载所述证书更新文件的请求时,将所述文件包发送至所述终端设备。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
参照图12,示出了本申请一实施例的一种终端设备的示意图。如图12所示,本实施例的终端设备1200包括:处理器1210、存储器1220以及存储在所述存储器1220中并可在所述处理器1210上运行的计算机程序1221。所述处理器1210执行所述计算机程序1221时实现上述终端设备侧的证书更新方法各个实施例中的步骤,例如图3所示的步骤S301至S302。或者,所述处理器1210执行所述计算机程序1221时实现上述各装置实施例中各模块/单元的功能,例如图10所示模块1001至1002的功能。
示例性的,所述计算机程序1221可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1220中,并由所述处理器1210执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序1221在所述终端设备1200中的执行过程。例如,所述计算机程序1221可以被分割成获取模块和更新模块),各模块具体功能如下:
获取模块,用于在接收到服务器推送的针对目标应用程序的证书更新信息时,获取与所述证书更新信息相对应的证书更新文件;
更新模块,用于采用所述证书更新文件对所述目标应用程序的证书文件进行更新。
所述终端设备1200可以是桌上型计算机、笔记本、掌上电脑等计算设备。所述终端设备1200可包括,但不仅限于,处理器1210、存储器1220。本领域技术人员可以理解,图12仅仅是终端设备1200的一种示例,并不构成对终端设备1200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备1200还可以包括输入输出设备、网络接入设备、总线等。
所述处理器1210可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1220可以是所述终端设备1200的内部存储单元,例如终端设备1200的硬盘或内存。所述存储器1220也可以是所述终端设备1200的外部存储设备,例如所述终端设备1200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等等。进一步地,所述存储器1220还可以既包括所述终端设备1200的内部存储单元也包括外部存储设备。所述存储器1220用于存储所述计算机程序1221以及所述终端设备1200所需的其他程序和数据。所述存储器1220还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还公开了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时可以实现前述服务器侧的证书更新方法。
本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可以实现前述服务器侧的证书更新方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的证书更新方法、装置、终端设备和服务器,可以通过其他的方式实现。例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到证书更新装置、终端设备或服务器的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (16)
1.一种证书更新方法,其特征在于,应用于终端设备,所述方法包括:
当接收到服务器推送的针对目标应用程序的证书更新信息时,获取与所述证书更新信息相对应的证书更新文件,所述终端设备中安装有证书提供组件以及与所述目标应用程序使用相同的证书文件的关联应用程序,所述终端设备通过所述证书提供组件向所述关联应用程序提供所述证书更新文件,所述证书更新文件是所述终端设备从内容分发网络服务器下载的;
采用已下载至所述终端设备上的所述证书更新文件对所述目标应用程序和所述关联应用程序的证书文件进行更新。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述证书更新信息相对应的证书更新文件,包括:
提取所述证书更新信息中携带的文件地址信息;
从所述文件地址信息对应的地址下载所述证书更新文件。
3.根据权利要求2所述的方法,其特征在于,所述文件地址信息包括内容分发网络地址信息;
相应地,所述从所述文件地址信息对应的地址下载所述证书更新文件,包括:
从所述内容分发网络地址信息对应的内容分发网络服务器下载所述证书更新文件。
4.根据权利要求2所述的方法,其特征在于,在所述提取所述证书更新信息中携带的文件地址信息之前,还包括:
判断终端设备当前是否运行有证书提供组件;
若所述终端设备当前运行有所述证书提供组件,则识别所述证书提供组件对应的证书获取路径,从所述证书获取路径获取所述证书更新文件;
若所述终端设备当前未运行所述证书提供组件,则执行提取所述证书更新信息中携带的文件地址信息,从所述文件地址信息对应的地址下载所述证书更新文件的步骤。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述终端设备当前未运行所述证书提供组件,则启动所述证书提供组件。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述采用已下载至所述终端设备上的所述证书更新文件对所述目标应用程序和所述关联应用程序的证书文件进行更新,包括:
对所述证书更新文件的文件签名进行校验;
若所述文件签名校验通过,则采用已下载至所述终端设备上的所述证书更新文件替换所述目标应用程序和所述关联应用程序的证书文件;
若所述文件签名校验未通过,则丢弃所述证书更新文件。
7.根据权利要求6所述的方法,其特征在于,所述对所述证书更新文件的文件签名进行校验,包括:
读取所述服务器预先下发的验证公钥,采用所述验证公钥对所述证书更新文件进行校验。
8.根据权利要求1所述的方法,其特征在于,还包括:
向所述服务器发送查询指令,所述查询指令用于查询所述服务器内存储的证书文件是否更新;
若查询到所述服务器内存储的证书文件已更新,则获取更新后的证书文件。
9.一种证书更新方法,其特征在于,应用于服务器,所述方法包括:
当检测到针对目标应用程序的证书更新文件时,生成与所述证书更新文件相对应的证书更新信息;
将所述证书更新信息推送至终端设备,所述终端设备中安装有证书提供组件以及与所述目标应用程序使用相同的证书文件的关联应用程序;
当接收到所述终端设备发送的下载所述证书更新文件的请求时,将所述证书更新文件对应的文件包发送至内容分发网络服务器,所述内容分发网络服务器用于将所述文件包发送至所述终端设备,所述终端设备通过所述证书提供组件向所述关联应用程序提供所述证书更新文件,并采用已下载至所述终端设备上的所述证书更新文件对所述目标应用程序和所述关联应用程序的证书文件进行更新。
10.根据权利要求9所述的方法,其特征在于,还包括:
对所述证书更新文件进行文件签名,获得签名值;
将所述签名值与所述证书更新文件封装为文件包。
11.一种证书更新装置,其特征在于,应用于终端设备,所述装置包括:
获取模块,用于在接收到服务器推送的针对目标应用程序的证书更新信息时,获取与所述证书更新信息相对应的证书更新文件,所述终端设备中安装有证书提供组件以及与所述目标应用程序使用相同的证书文件的关联应用程序,所述终端设备通过所述证书提供组件向所述关联应用程序提供所述证书更新文件,所述证书更新文件是所述终端设备从内容分发网络服务器下载的;
更新模块,用于采用已下载至所述终端设备上的所述证书更新文件对所述目标应用程序和所述关联应用程序的证书文件进行更新。
12.一种证书更新装置,其特征在于,应用于服务器,所述装置包括:
生成模块,用于在检测到针对目标应用程序的证书更新文件时,生成与所述证书更新文件相对应的证书更新信息;
推送模块,用于将所述证书更新信息推送至终端设备,所述终端设备中安装有证书提供组件以及与所述目标应用程序使用相同的证书文件的关联应用程序;
发送模块,用于在接收到所述终端设备发送的下载所述证书更新文件的请求时,将所述证书更新文件对应的文件包发送至内容分发网络服务器,所述内容分发网络服务器用于将所述文件包发送至所述终端设备,所述终端设备通过所述证书提供组件向所述关联应用程序提供所述证书更新文件,并采用已下载至所述终端设备上的所述证书更新文件对所述目标应用程序和所述关联应用程序的证书文件进行更新。
13.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的证书更新方法。
14.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求9至10任一项所述的证书更新方法。
15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的证书更新方法。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求9至10任一项所述的证书更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911174420.0A CN112865956B (zh) | 2019-11-26 | 2019-11-26 | 证书更新方法、装置、终端设备和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911174420.0A CN112865956B (zh) | 2019-11-26 | 2019-11-26 | 证书更新方法、装置、终端设备和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112865956A CN112865956A (zh) | 2021-05-28 |
CN112865956B true CN112865956B (zh) | 2022-10-18 |
Family
ID=75985689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911174420.0A Active CN112865956B (zh) | 2019-11-26 | 2019-11-26 | 证书更新方法、装置、终端设备和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112865956B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143010A (zh) * | 2021-11-25 | 2022-03-04 | 上海派拉软件股份有限公司 | 数字证书获取方法、装置、终端、系统和存储介质 |
CN114157432A (zh) * | 2021-11-25 | 2022-03-08 | 上海派拉软件股份有限公司 | 数字证书获取方法、装置、电子设备、系统和存储介质 |
CN114338037A (zh) * | 2021-12-27 | 2022-04-12 | 浪潮云信息技术股份公司 | 一种mqtt服务组件动态生成证书的方法及装置 |
CN115118504B (zh) * | 2022-06-28 | 2023-11-14 | 北京天融信网络安全技术有限公司 | 知识库更新方法、装置、电子设备及存储介质 |
CN116886319A (zh) * | 2023-09-08 | 2023-10-13 | 海马云(天津)信息技术有限公司 | 证书校验方法及装置、通信设备 |
CN117176347B (zh) * | 2023-11-02 | 2024-02-06 | 深圳市亲邻科技有限公司 | 一种移动应用证书验证方法与系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106034330A (zh) * | 2015-03-17 | 2016-10-19 | 网宿科技股份有限公司 | 基于内容分发网络的移动终端流量处理方法、装置及系统 |
CN109347637A (zh) * | 2018-08-01 | 2019-02-15 | 华为技术有限公司 | 一种认证方法、内容分发网络cdn和内容服务器 |
CN109391509A (zh) * | 2018-04-16 | 2019-02-26 | 深圳思为科技有限公司 | 一种更新应用程序的方法、系统及应用服务器 |
CN109639661A (zh) * | 2018-12-04 | 2019-04-16 | 深圳前海微众银行股份有限公司 | 服务器证书更新方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180034646A1 (en) * | 2016-07-27 | 2018-02-01 | Arris Enterprises Llc | Method and apparatus for seamless remote renewal of offline generated digital identity certificates to field deployed hardware security modules |
-
2019
- 2019-11-26 CN CN201911174420.0A patent/CN112865956B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106034330A (zh) * | 2015-03-17 | 2016-10-19 | 网宿科技股份有限公司 | 基于内容分发网络的移动终端流量处理方法、装置及系统 |
CN109391509A (zh) * | 2018-04-16 | 2019-02-26 | 深圳思为科技有限公司 | 一种更新应用程序的方法、系统及应用服务器 |
CN109347637A (zh) * | 2018-08-01 | 2019-02-15 | 华为技术有限公司 | 一种认证方法、内容分发网络cdn和内容服务器 |
CN109639661A (zh) * | 2018-12-04 | 2019-04-16 | 深圳前海微众银行股份有限公司 | 服务器证书更新方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112865956A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112865956B (zh) | 证书更新方法、装置、终端设备和服务器 | |
WO2021114918A1 (zh) | 完整性校验方法、装置、终端设备及验证服务器 | |
CN107786504B (zh) | Elf文件发布方法、elf文件校验方法、服务器及终端 | |
EP3174253B1 (en) | Message withdrawal method and apparatus, computer program and recording medium | |
US8522343B2 (en) | Removing an active application from a remote device | |
CN110869907B (zh) | 一种浏览应用页面的方法及终端 | |
US11669342B2 (en) | Profile transmission method, related device, and storage medium | |
CN106598584B (zh) | 一种处理资源文件的方法、装置和系统 | |
WO2017211205A1 (zh) | 一种白名单更新方法和装置 | |
CN108280341B (zh) | 渠道号添加、安装包校验方法及装置 | |
CN113038434B (zh) | 设备注册方法、装置、移动终端和存储介质 | |
WO2019076293A1 (zh) | 一种差分升级的方法、装置及系统 | |
CN113018868B (zh) | 云游戏登录方法、装置和系统 | |
CN108549826B (zh) | 应用程序的校验方法、终端、服务器及可读存储介质 | |
US10298590B2 (en) | Application-based service providing method, apparatus, and system | |
US10764038B2 (en) | Method and apparatus for generating terminal key | |
CN109144596B (zh) | 快捷启动方法、装置、终端、服务器及系统 | |
CN107465646B (zh) | 一种应用下载方法、系统及相关设备 | |
CN107844318B (zh) | 一种操作系统的升级方法及移动终端和服务器 | |
EP2869233A1 (en) | Method, device and terminal for protecting application program | |
CN108881969B (zh) | 绘制弹幕的方法、装置及移动终端 | |
CN108737341B (zh) | 业务处理方法、终端及服务器 | |
CN106445594B (zh) | 系统应用的安装方法、装置和终端设备 | |
CN105791253B (zh) | 一种获取网站的认证信息的方法和装置 | |
CN113031838B (zh) | 屏幕录制方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231221 Address after: 518054 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong Patentee after: Huaban Payment (Shenzhen) Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |