CN114065297A - 一种证书处理方法、装置、电子设备及存储介质 - Google Patents

一种证书处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114065297A
CN114065297A CN202111239131.1A CN202111239131A CN114065297A CN 114065297 A CN114065297 A CN 114065297A CN 202111239131 A CN202111239131 A CN 202111239131A CN 114065297 A CN114065297 A CN 114065297A
Authority
CN
China
Prior art keywords
certificate
container
node
application
request
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.)
Pending
Application number
CN202111239131.1A
Other languages
English (en)
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202111239131.1A priority Critical patent/CN114065297A/zh
Publication of CN114065297A publication Critical patent/CN114065297A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例适用于数据处理技术领域,提供了一种证书处理方法、装置、电子设备及存储介质,其中,证书处理方法包括:在第一容器接收到设定指令的情况下,基于第一容器向对应的第二节点发送第一证书请求;第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;至少两个第一节点的每个第一节点均包括第一容器和应用容器;第一容器用于代理对应的应用容器的流量;基于第一容器对应的第二节点接收第一证书请求,基于第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给第一容器;第三节点用于缓存至少两个第一节点的每个第一节点中的应用容器的证书;基于第一容器接收证书,并对对应的应用容器中的证书进行处理。

Description

一种证书处理方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种证书处理方法、装置、电子设备及存储介质。
背景技术
数字证书为实现双方安全通信提供了电子认证,可以使用数字证书实现身份识别和电子信息加密。相关技术在更新应用程序的数字证书时,从证书生成系统获取新的数字证书,手动替换应用程序中旧的数字证书,然后重启应用程序后新的数字证书才能生效。
发明内容
为了解决上述问题,本发明实施例提供了一种证书处理方法、装置、电子设备及存储介质,以至少解决相关技术证书更新效率低的问题。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种证书处理方法,该方法包括:
在第一容器接收到设定指令的情况下,基于所述第一容器向对应的第二节点发送第一证书请求;所述第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;所述至少两个第一节点的每个第一节点均包括第一容器和应用容器;所述第一容器用于代理对应的应用容器的流量;至少两个第一节点的每个第一节点对应一个第二节点;
基于所述第一容器对应的第二节点接收所述第一证书请求,基于所述第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给所述第一容器;所述第三节点用于缓存所述至少两个第一节点的每个第一节点中的应用容器的证书;
基于所述第一容器接收所述证书,并对对应的应用容器中的证书进行处理。
上述方案中,所述基于所述第一证书请求从第三节点获取对应的证书,包括:
基于所述第一容器对应的第二节点解析所述第一证书请求,得到所述第一容器对应的应用容器的标识;
基于所述标识向所述第三节点发送第二证书请求;
基于所述第三节点接收所述第二证书请求,基于所述第二证书请求将缓存中所述标识对应的证书发送给所述第一容器对应的第二节点;
基于所述第一容器对应的第二节点接收所述第三节点发送的所述标识对应的证书。
上述方案中,所述基于所述第二证书请求将缓存中所述标识对应的证书发送给所述第一容器对应的第二节点,包括:
基于所述第三节点解析所述第二证书请求,得到所述标识;
基于所述第三节点确定缓存中是否包括所述标识对应的证书;
在所述第三节点的缓存中包括所述标识对应的证书的情况下,将所述标识对应的证书发送给所述第一容器对应的第二节点。
上述方案中,所述方法还包括:
在所述第三节点的缓存中不包括所述标识对应的证书的情况下,基于所述第三节点向证书生成系统发送证书生成请求;
基于所述第三节点接收所述证书生成系统基于所述证书生成请求生成的所述标识对应的证书;
基于所述第三节点缓存所述标识对应的证书,并将所述标识对应的证书发送给所述第一容器对应的第二节点。
上述方案中,在基于所述第一容器向对应的第二节点发送第一证书请求后,所述方法还包括:
将所述第一容器的服务端口设置为不可用状态;
在所述第一容器对应的应用容器中的证书处理完成之后,将所述第一容器的服务端口设置为可用状态。
上述方案中,所述方法还包括:
基于所述第一容器对应的设定时间点向所述第一容器发送设定指令;所述至少两个第一节点的每个第一节点中的第一容器对应的设定时间点互不相同。
上述方案中,所述基于所述第一容器接收所述证书,并更新对应的应用容器中的证书,包括:
基于所述第一容器将所述证书发送给对应的应用容器;所述第一容器对应的应用容器基于所述证书进行证书新增或证书更新。
第二方面,本发明实施例提供了一种证书处理装置,该装置包括:
第一容器,用于在接收到设定指令的情况下,向对应的第二节点发送第一证书请求;所述第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;所述至少两个第一节点的每个第一节点均包括第一容器和应用容器;所述第一容器用于代理对应的应用容器的流量;至少两个第一节点的每个第一节点对应一个第二节点。
第二节点,接收所述第一证书请求,基于所述第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给所述第一容器;所述第三节点用于缓存所述至少两个第一节点的每个第一节点中的应用容器的证书;
第一容器,用于接收所述证书,并对对应的应用容器中的证书进行处理。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的证书处理方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的证书处理方法的步骤。
本发明实施例在第一容器接收到设定指令的情况下,基于第一容器向对应的第二节点发送第一证书请求,第一容器对应的第二节点接收第一证书请求,基于第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给第一容器。第一容器接收所述证书,并对对应的应用容器中的证书进行处理。其中,第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;至少两个第一节点的每个第一节点均包括第一容器和应用容器;第一容器用于代理对应的应用容器的流量;至少两个第一节点的每个第一节点对应一个第二节点;第三节点用于缓存至少两个第一节点的每个第一节点中的应用容器的证书。本发明实施例通过第一容器向对应的第二节点发送证书请求,第二节点基于证书请求从第三节点获取对应的证书,并将获取到的证书发送给第一容器,第一容器进行证书新增或证书更新。本发明实施例可以实现证书的自动更新和新增,证书更新时无需用户手动替换旧的证书,也无需从证书生成系统获取证书,提高了证书新增或证书更新的效率。
附图说明
图1是本发明实施例提供的一种证书处理方法的实现流程示意图;
图2是本发明实施例提供的一种分布式应用集群的结构示意图;
图3是本发明实施例提供的一种应用容器与第一容器进行绑定的示意图;
图4是本发明实施例提供的一种第一容器与应用容器进行交互的示意图;
图5是本发明实施例提供的另一种证书处理方法的实现流程示意图;
图6是本发明实施例提供的另一种证书处理方法的实现流程示意图;
图7是本发明实施例提供的另一种证书处理方法的实现流程示意图;
图8是本发明应用实施例提供的一种分布式应用集群的结构示意图;
图9是本发明应用实施例提供的一种证书更新的流程示意图;
图10是本发明实施例提供的一种证书处理装置的示意图;
图11是本发明一实施例提供的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
许多中间件在通信时使用了传输加密,中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。常见的中间件有缓存中间件Redis、消息中间件RabbitMQ等。传输加密需要使用到CA(Certification Authority)证书,CA是证书的签发机构,它是公钥基础设施(PKI,Public Key Infrastructure)的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。CA证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等。
CA证书具有一个有效期,在有效期快结束的时候,需要对CA证书进行更新,目前应用程序在更新CA证书时需要从证书生成系统(KMS,Key Management Service)获取新的CA证书,手动替换应用程序中旧的CA证书,然后重启应用程序后新的CA证书才能生效。
可见,相关技术手动更新数字证书效率低,而且需要重启应用程序,导致应用服务中断。
针对上述相关技术的缺点,本发明实施例提供了一种证书处理方法,能够提高证书新增或证书更新的效率。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明实施例提供的一种日志处理方法的实现流程示意图,所述日志处理方法的执行主体为电子设备,电子设备包括台式电脑、笔记本电脑和服务器等。参考图1,日志处理方法包括:
S101,在第一容器接收到设定指令的情况下,基于所述第一容器向对应的第二节点发送第一证书请求;所述第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;所述至少两个第一节点的每个第一节点均包括第一容器和应用容器;所述第一容器用于代理对应的应用容器的流量;至少两个第一节点的每个第一节点对应一个第二节点。
本发明实施例可以应用于新增或更新应用程序数字证书的场景,在应用程序不包含证书的情况下进行新增证书操作,在应用程序包含证书的情况下进行证书更新操作。可以由设定指令开启证书新增或更新,或者设定时间定点开启证书新增或更新。
在分布式应用集群中,节点是集群中单个机器的表示。在大多数生产系统中,节点可能是数据中心中的物理机器,或者是托管在云平台上的虚拟机。容器是一个标准化的软件单元,它将代码及其所有依赖关系打包,以便应用程序从一个计算环境可靠快速地运行到另一个计算环境。一个应用程序可以设置多个容器,每个容器实现应用程序的一个功能。一个节点可以运行多个容器,但这些容器内的进程是相互隔离的,且无法相互感知。其中一个容器的升级或者出现故障,不会影响其他容器。
这里,第一容器指分布式应用场景下,提供应用服务的节点中的容器。比如,第一节点为分布式应用集群中的提供应用服务的节点,分布式应用是指:应用程序分布在不同计算机上,通过网络来共同完成一项任务。通常为服务器/客户端模式。
参考图2,图2是本发明实施例提供的一种分布式应用集群的结构示意图,分布式应用集群包括至少两个第一节点、至少两个第二节点和第三节点。其中,至少两个第一节点的每个第一节点对应一个第二节点,至少两个第一节点的每个第一节点均包括第一容器和应用容器,第一容器用于代理对应的应用容器的流量。
分布式应用集群包括多个第一节点,每个第一节点中包括一个应用容器,应用容器对外提供服务。第一容器是第一节点中与应用容器对应的容器,用于代理应用容器的流量。比如,第一容器可以为Sidecar容器,将本将属于应用程序的功能拆分成单独的进程,这个进程可以被理解为Sidecar。在微服务体系内,将集成在应用内的微服务功能剥离到了Sidecar内,Sidecar提供了微服务发现、注册,服务调用,应用认证,限速等功能。Sidecar模式允许在应用程序旁边添加更多功能,而无需额外第三方组件配置或修改应用程序代码。
在本发明实施例中,Sidecar容器用于接管应用容器的流量,对外暴露自身的地址。参考图3,图3是本发明实施例提供的一种应用容器与第一容器进行绑定的示意图。图3中,APP指应用容器,SideCar指第一容器,VM指分布式应用集群中提供应用服务的节点。App启动后,会向Sidecar容器进行服务注册,将本身的IP、监听端口注册到SideCar容器。SideCar容器维护此访问地址(ip:port),并向外提供一个虚拟的访问地址,比如app.service。业务应用访问的是app.service这个地址,可以通过域名解析服务,解析到SideCar容器,将请求转发到SideCar容器上。SideCar容器对外的通信协议和App的对外通信协议是一致的。所以SideCar容器可以代替App对外提供服务。
参考图4,图4是本发明实施例提供的一种第一容器与应用容器进行交互的示意图。图4中,中间件指应用容器,SideCar指第一容器。图4中的请求指加密请求,用户客户端发送加密请求给App,SideCar容器接收加密请求,SideCar容器加载证书,对中间件协议进行解析,将加密请求转发给中间件。中间件处理加密请求,返回处理结果到SideCar容器。SideCar容器加载证书,利用证书封装信息,变成加密数据,最后SideCar容器将加密数据返回给用户客户端。
第一容器接收到设定指令后,向对应的第二节点发送第一证书请求。这里,每个第一容器对应一个第二节点,或者说每个第一节点对应一个第二节点。分布式应用集群包括多个第二节点,用于接收对应的第一容器发送的第一证书请求。
在一实施例中,所述方法还包括:
基于所述第一容器对应的设定时间点向所述第一容器发送设定指令;所述至少两个第一节点的每个第一节点中的第一容器对应的设定时间点互不相同。
这里,每个第一容器启动证书更新的时间点不同,这样可以保证其中某个第一容器在进行证书更新的过程中,其他第一容器还能对外提供服务,确保应用服务不中断。
相关技术存在证书更新被忽略的场景,比如通知不及时,没有收到通知等情况,导致应用使用到的证书过期,最终导致应用不可用。本发明实施例定点更新证书,能避免证书更新被忽略。
此外,还可以多个应用容器的证书同时进行更新,以此提高证书更新效率。
在一实施例中,在基于所述第一容器向对应的第二节点发送第一证书请求后,所述方法还包括:
将所述第一容器的服务端口设置为不可用状态;
在所述第一容器对应的应用容器中的证书处理完成之后,将所述第一容器的服务端口设置为可用状态。
正在新增证书或更新证书的第一容器暂停对外提供服务,此时访问该第一容器的客户端请求因为服务端口被关闭,请求会被重置。客户端会尝试发起重试,请求到另外一个第一容器代理的服务。第一容器更新完证书或新增证书后,将服务端口开启,开放端口后。服务变为可用,客户端就可以访问到此服务,进行正常的请求。
本发明实施例在更新证书时,不需要重启应用程序,只需将正在更新的第一容器的服务端口设置为不可用状态即可,其他第一容器还能继续对外提供服务,确保应用服务不中断。
S102,基于所述第一容器对应的第二节点接收所述第一证书请求,基于所述第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给所述第一容器;所述第三节点用于缓存所述至少两个第一节点的每个第一节点中的应用容器的证书。
第二节点用于接收对应的第一容器发送的第一证书请求,根据第一证书请求向第三节点请求对应的证书,然后将证书返回给对应的第一容器。在实际应用中,第二节点可以为CA-Agent,CA-Agent负责将证书分发到不同的应用容器。
其中,第三节点缓存有多个应用容器的证书。第三节点根据第二节点发送的请求,查找缓存中是否有对应的证书,有则将证书发送给第二节点。第二节点接收第三节点发送的证书,将获取到的证书发送给第一容器。
参考图5,在一实施例中,所述基于所述第一证书请求从第三节点获取对应的证书,包括:
S501,基于所述第一容器对应的第二节点解析所述第一证书请求,得到所述第一容器对应的应用容器的标识。
第一证书请求中包含应用容器的标识,标识可以为App ID。第二节点解析第一证书请求,得到其中的应用容器的标识。
S502,基于所述标识向所述第三节点发送第二证书请求。
第二节点根据应用容器的标识生成第二证书请求,向第三节点发送第二证书请求。
S503,基于所述第三节点接收所述第二证书请求,基于所述第二证书请求将缓存中所述标识对应的证书发送给所述第一容器对应的第二节点。
第三节点接收第二证书请求后,根据其中的标识,在缓存中查找标识对应的证书,将查找到的证书发送给对应的第二节点。
S504,基于所述第一容器对应的第二节点接收所述第三节点发送的所述标识对应的证书。
第二节点接收第三节点发送的标识对应的证书,然后再转发给对应的第一节点中的第一容器。
参考图6,在上述实施例中,所述基于所述第二证书请求将缓存中所述标识对应的证书发送给所述第一容器对应的第二节点,包括:
S601,基于所述第三节点解析所述第二证书请求,得到所述标识。
S602,基于所述第三节点确定缓存中是否包括所述标识对应的证书。
S603,在所述第三节点的缓存中包括所述标识对应的证书的情况下,将所述标识对应的证书发送给所述第一容器对应的第二节点。
在第三节点中缓存有标识对应的证书的情况下,将标识对应的证书发送给第一容器对应的第二节点。
参考图6,在上述实施例中,所述方法还包括:
S701,在所述第三节点的缓存中不包括所述标识对应的证书的情况下,基于所述第三节点向证书生成系统发送证书生成请求。
这里,证书生成系统可以为KMS,KMS负责证书的生成,证书生成系统根据证书生成请求生成标识对应的证书。证书生成系统可以是一个独立的系统
S702,基于所述第三节点接收所述证书生成系统基于所述证书生成请求生成的所述标识对应的证书。
第三节点接收证书生成系统生成的标识对应的证书。
S703,基于所述第三节点缓存所述标识对应的证书,并将所述标识对应的证书发送给所述第一容器对应的第二节点。
第三节点缓存标识对应的证书,然后将标识对应的证书发送给第一容器对应的第二节点。
S103,基于所述第一容器接收所述证书,并对对应的应用容器中的证书进行处理。
在一实施例中,所述基于所述第一容器接收所述证书,并对对应的应用容器中的证书进行处理,包括:
基于所述第一容器将所述证书发送给对应的应用容器;所述第一容器对应的应用容器基于所述证书进行证书新增或证书更新。
本发明实施例在第一容器接收到设定指令的情况下,基于第一容器向对应的第二节点发送第一证书请求,第一容器对应的第二节点接收第一证书请求,基于第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给第一容器。第一容器接收所述证书,并对对应的应用容器中的证书进行处理。其中,第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;至少两个第一节点的每个第一节点均包括第一容器和应用容器;第一容器用于代理对应的应用容器的流量;至少两个第一节点的每个第一节点对应一个第二节点;第三节点用于缓存至少两个第一节点的每个第一节点中的应用容器的证书。本发明实施例通过第一容器向对应的第二节点发送证书请求,第二节点基于证书请求从第三节点获取对应的证书,并将获取到的证书发送给第一容器,第一容器进行证书新增或证书更新。本发明实施例可以实现证书的自动更新和新增,证书更新时无需用户手动替换旧的证书,也无需从证书生成系统获取证书,提高了证书新增或证书更新的效率。
参考图8,图8是本发明应用实施例提供的一种分布式应用集群的结构示意图。其中,VM指第一节点,CA-Agent指第二节点,CA-Server指第三节点。SideCar指第一容器,App指应用容器,KMS指证书生成系统。
当需要为应用开启加密传输的情况下,向SideCar发送设定指令,SideCar接收到设定指令后,向CA-Agent请求证书。CA-Agent接收到请求后,首先验证请求是否有效,获取到此SideCar所对应的AppId。CA-Agent根据AppId,构造请求,向CA-Server获取证书。
Ca-Server验证请求,查看本地缓存中是否有对应的证书,如果有就直接返回证书,如果没有,则继续向KMS请求证书。Ca-Server向KMS请求证书,KMS构造证书,KMS将构造好的证书返回给CA-Server,Ca-Server缓存此证书。
Ca-Server返回证书给Ca-Agent,Ca-Agent返回证书给SideCar,由SideCar进行证书自动更新或证书新增。
参考图9,图9是本发明应用实施例提供的一种证书更新的流程示意图。证书更新流程包括:
首先,SideCar与CA-Agent进行通信后,发现本地的证书快要过期了,向CA-Agent发送证书更新请求。同时,在SideCar中将服务端口设置为不可用(使用iptables进行端口禁用),端口禁用后,SideCar所代表的服务就不会对外提供服务了。此时访问SideCar的客户端请求因为服务端口被关闭,请求会被重置。客户端会尝试发起重试,请求到另外一个SideCar代理的服务。
SideCar向CA-Agent请求新的证书,并替换本地证书。这里,CA-Agent会根据证书更新请求,向CA-Server请求证书,将新的证书发送给SideCar。SideCar根据新的证书替换本地证书。
判断是否替换证书成功,如果证书请求成功并替换本地证书成功,则将服务端口开启(使用iptables开放端口)。开放端口后,服务变为可用,客户端就可以访问到此服务,进行正常的请求。
如果证书请求失败,则先将自身的服务设置为可用,开启端口对外进行服务。等待下一周期的证书更新。
通过这种在服务动态更新证书的方式,最终把所有的服务的证书都进行更新。本发明应用实施例可以实现证书自动更新,一切交由系统自动实现,排除证书更新被忽略的风险。证书更新期间,应用不中断服务。可以实现批量更新证书,提高证书更新效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
参考图10,图10是本发明实施例提供的一种证书处理装置的示意图,如图10所示,该装置包括:第一节点,第一节点包括第一容器和应用容器,第二节点和第三节点。
第一容器,用于在接收到设定指令的情况下,向对应的第二节点发送第一证书请求;所述第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;所述至少两个第一节点的每个第一节点均包括第一容器和应用容器;所述第一容器用于代理对应的应用容器的流量;至少两个第一节点的每个第一节点对应一个第二节点。
第二节点,接收所述第一证书请求,基于所述第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给所述第一容器;所述第三节点用于缓存所述至少两个第一节点的每个第一节点中的应用容器的证书;
第一容器,用于接收所述证书,并对对应的应用容器中的证书进行处理。
在一实施例中,第二节点基于所述第一证书请求从第三节点获取对应的证书时,用于:
解析所述第一证书请求,得到所述第一容器对应的应用容器的标识;
基于所述标识向所述第三节点发送第二证书请求;
基于所述第三节点接收所述第二证书请求,基于所述第二证书请求将缓存中所述标识对应的证书发送给所述第一容器对应的第二节点;
接收所述第三节点发送的所述标识对应的证书。
在一实施例中,第三节点基于所述第二证书请求将缓存中所述标识对应的证书发送给所述第一容器对应的第二节点时,用于:
解析所述第二证书请求,得到所述标识;
确定缓存中是否包括所述标识对应的证书;
在所述第三节点的缓存中包括所述标识对应的证书的情况下,将所述标识对应的证书发送给所述第一容器对应的第二节点。
在一实施例中,第三节点在所述第三节点的缓存中不包括所述标识对应的证书的情况下,向证书生成系统发送证书生成请求;
接收所述证书生成系统基于所述证书生成请求生成的所述标识对应的证书;
缓存所述标识对应的证书,并将所述标识对应的证书发送给所述第一容器对应的第二节点。
在一实施例中,第一容器在基于所述第一容器向对应的第二节点发送第一证书请求后,用于:
将所述第一容器的服务端口设置为不可用状态;
在所述第一容器对应的应用容器中的证书处理完成之后,将所述第一容器的服务端口设置为可用状态。
在一实施例中,第一容器将所述证书发送给对应的应用容器;所述第一容器对应的应用容器基于所述证书进行证书新增或证书更新。
实际应用时,所述第一容器、第二节点和第三节点可通过电子设备中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital SignalProcessor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。
需要说明的是:上述实施例提供的证书处理装置在进行证书更新时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的证书处理装置与证书处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图11为本申请实施例电子设备的硬件组成结构示意图,如图11所示,电子设备包括:
通信接口,能够与其它设备比如网络设备等进行信息交互;
处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统。
本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器执行所述程序时实现本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种证书处理方法,其特征在于,所述方法包括:
在第一容器接收到设定指令的情况下,基于所述第一容器向对应的第二节点发送第一证书请求;所述第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;所述至少两个第一节点的每个第一节点均包括第一容器和应用容器;所述第一容器用于代理对应的应用容器的流量;至少两个第一节点的每个第一节点对应一个第二节点;
基于所述第一容器对应的第二节点接收所述第一证书请求,基于所述第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给所述第一容器;所述第三节点用于缓存所述至少两个第一节点的每个第一节点中的应用容器的证书;
基于所述第一容器接收所述证书,并对对应的应用容器中的证书进行处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一证书请求从第三节点获取对应的证书,包括:
基于所述第一容器对应的第二节点解析所述第一证书请求,得到所述第一容器对应的应用容器的标识;
基于所述标识向所述第三节点发送第二证书请求;
基于所述第三节点接收所述第二证书请求,基于所述第二证书请求将缓存中所述标识对应的证书发送给所述第一容器对应的第二节点;
基于所述第一容器对应的第二节点接收所述第三节点发送的所述标识对应的证书。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二证书请求将缓存中所述标识对应的证书发送给所述第一容器对应的第二节点,包括:
基于所述第三节点解析所述第二证书请求,得到所述标识;
基于所述第三节点确定缓存中是否包括所述标识对应的证书;
在所述第三节点的缓存中包括所述标识对应的证书的情况下,将所述标识对应的证书发送给所述第一容器对应的第二节点。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述第三节点的缓存中不包括所述标识对应的证书的情况下,基于所述第三节点向证书生成系统发送证书生成请求;
基于所述第三节点接收所述证书生成系统基于所述证书生成请求生成的所述标识对应的证书;
基于所述第三节点缓存所述标识对应的证书,并将所述标识对应的证书发送给所述第一容器对应的第二节点。
5.根据权利要求1所述的方法,其特征在于,在基于所述第一容器向对应的第二节点发送第一证书请求后,所述方法还包括:
将所述第一容器的服务端口设置为不可用状态;
在所述第一容器对应的应用容器中的证书处理完成之后,将所述第一容器的服务端口设置为可用状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述第一容器对应的设定时间点向所述第一容器发送设定指令;所述至少两个第一节点的每个第一节点中的第一容器对应的设定时间点互不相同。
7.根据权利要求1所述的方法,其特征在于,所述基于所述第一容器接收所述证书,并对对应的应用容器中的证书进行处理,包括:
基于所述第一容器将所述证书发送给对应的应用容器;所述第一容器对应的应用容器基于所述证书进行证书新增或证书更新。
8.一种证书处理装置,其特征在于,包括:
第一容器,用于在接收到设定指令的情况下,向对应的第二节点发送第一证书请求;所述第一容器表征分布式应用的至少两个第一节点的一个第一节点中的容器;所述至少两个第一节点的每个第一节点均包括第一容器和应用容器;所述第一容器用于代理对应的应用容器的流量;至少两个第一节点的每个第一节点对应一个第二节点;
第二节点,接收所述第一证书请求,基于所述第一证书请求从第三节点获取对应的证书,并将获取到的证书发送给所述第一容器;所述第三节点用于缓存所述至少两个第一节点的每个第一节点中的应用容器的证书;
第一容器,用于接收所述证书,并对对应的应用容器中的证书进行处理。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的证书处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的证书处理方法。
CN202111239131.1A 2021-10-25 2021-10-25 一种证书处理方法、装置、电子设备及存储介质 Pending CN114065297A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111239131.1A CN114065297A (zh) 2021-10-25 2021-10-25 一种证书处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111239131.1A CN114065297A (zh) 2021-10-25 2021-10-25 一种证书处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114065297A true CN114065297A (zh) 2022-02-18

Family

ID=80235371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111239131.1A Pending CN114065297A (zh) 2021-10-25 2021-10-25 一种证书处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114065297A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109067564A (zh) * 2018-06-28 2018-12-21 星环信息科技(上海)有限公司 分布式处理方法、装置、计算机设备及存储介质
CN109582335A (zh) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 一种无中断存储集群节点在线升级方法、装置及设备
CN110223062A (zh) * 2019-04-24 2019-09-10 中国南方电网有限责任公司 基于区块链的分布式电力交易系统及方法
CN111988150A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 区块链证书更新方法、装置、计算机设备及存储介质
CN112130923A (zh) * 2020-08-14 2020-12-25 中信银行股份有限公司 容器的管理方法、装置、电子设备及计算机可读存储介质
CN112187864A (zh) * 2020-09-02 2021-01-05 深圳市欢太科技有限公司 负载均衡方法、装置、存储介质及电子设备
CN112596740A (zh) * 2020-12-28 2021-04-02 北京千方科技股份有限公司 一种程序部署方法及装置
CN113220433A (zh) * 2021-05-14 2021-08-06 北京奇艺世纪科技有限公司 一种代理程序运行管理方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109067564A (zh) * 2018-06-28 2018-12-21 星环信息科技(上海)有限公司 分布式处理方法、装置、计算机设备及存储介质
CN109582335A (zh) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 一种无中断存储集群节点在线升级方法、装置及设备
CN110223062A (zh) * 2019-04-24 2019-09-10 中国南方电网有限责任公司 基于区块链的分布式电力交易系统及方法
CN112130923A (zh) * 2020-08-14 2020-12-25 中信银行股份有限公司 容器的管理方法、装置、电子设备及计算机可读存储介质
CN112187864A (zh) * 2020-09-02 2021-01-05 深圳市欢太科技有限公司 负载均衡方法、装置、存储介质及电子设备
CN111988150A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 区块链证书更新方法、装置、计算机设备及存储介质
CN112596740A (zh) * 2020-12-28 2021-04-02 北京千方科技股份有限公司 一种程序部署方法及装置
CN113220433A (zh) * 2021-05-14 2021-08-06 北京奇艺世纪科技有限公司 一种代理程序运行管理方法及系统

Similar Documents

Publication Publication Date Title
US11323530B2 (en) Proxy agents and proxy ledgers on a blockchain
JP5747981B2 (ja) 仮想機械を用いた電子ネットワークにおける複数のクライアントの遠隔保守のためのシステム及び方法
US10687210B2 (en) Switching mobile service provider using blockchain
JP6521337B2 (ja) マルチファセット・コンピュート・インスタンス・アイデンティティ
CN109639701B (zh) 基于opc协议的访问控制方法、装置、设备及存储介质
US10135623B2 (en) Method and system for checking revocation status of digital certificates in a virtualization environment
WO2022237123A1 (zh) 一种获取区块链数据的方法、装置、电子设备及存储介质
US11989284B2 (en) Service API invoking method and related apparatus
US20200004427A1 (en) Method, apparatus and system for controlling mounting of file system
US9948632B2 (en) Sharing data between sandboxed applications with certificates
CN114221959A (zh) 服务共享方法、装置和系统
CN110298165B (zh) 安全访问共享内存的方法、装置以及认证代理
CN114065297A (zh) 一种证书处理方法、装置、电子设备及存储介质
CN115278671A (zh) 网元鉴权方法、装置、存储介质和电子设备
US20240004681A1 (en) Virtualization management system and/or operating system attestation from within a virtualized computing instance
JP2003091420A (ja) 更新用プログラム、装置プログラム及びプログラム更新支援方法
CN114285845B (zh) 云环境下的联网认证方法、系统、计算机设备及存储介质
CN115168872B (zh) 基于去中心化信任的公有云下tee状态连续性保护方法
US20240007465A1 (en) Controlling access to components of a software-defined data center in a hybrid environment
CN116186709B (zh) 基于虚拟化VirtIO技术卸载UEFI安全启动的方法、装置及介质
US20240095338A1 (en) Isolated runtime environments for securing secrets used to access remote resources from compute instances
US20240007462A1 (en) Connecting a software-defined data center to cloud services through an agent platform appliance
US11765155B1 (en) Robust and secure updates of certificate pinning software
EP4310710A1 (en) Local key escrow method and apparatus based on trusted computing, device, and medium
CN111131538B (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