掌桥专利:专业的专利平台
掌桥专利
首页

数字证书签发方法、装置、电子设备及介质

文献发布时间:2023-06-19 19:30:30


数字证书签发方法、装置、电子设备及介质

技术领域

本公开涉及数字证书技术领域,具体涉及一种数字证书签发方法、装置、电子设备、介质和程序产品。

背景技术

数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份,因此数字证书又称为数字标识。数字证书对网络用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性。

SSL(Secure Socket Layer,安全套接层)证书是数字证书的一种应用,其主要提供用户和服务器的认证,确保数据发送到正确的客户机和服务器;加密数据以防止数据中途被窃取;维护数据的完整性,确保数据在传输过程中不被改变。

SSL证书主要针对域名进行数字证书的签发,目前市场上还没有针对IP地址段进行签发数字证书的方法和应用。

发明内容

鉴于上述问题,本公开提供了针对IP地址段的数字证书签发方法、装置、电子设备、介质和程序产品。

根据本公开的第一个方面,提供了一种数字证书签发方法,包括:获取数字证书的元数据,对所述元数据的属性进行IP地址段前缀的扩展定义,生成扩展后的元数据;使用证书工具签发所述扩展后的元数据。

根据本公开的实施例,所述使用证书工具签发所述扩展后的元数据,具体包括:使用OpenSSL命令生成私钥;利用所述私钥创建CSR证书请求文件;利用所述私钥和所述CSR证书请求文件,生成更新后的数字证书。

根据本公开的实施例,利用所述证书私钥创建CSR证书请求文件,具体包括:根据所述扩展后的元数据,编辑OpenSSL的配置文件;使用所述配置文件生成CSR证书请求文件。

根据本公开的实施例,所述IP地址段前缀包括证书使用者的IPv4地址段和/或IPv6地址段。

根据本公开的实施例,所述使用证书工具签发所述扩展后的元数据,还包括:对拥有同一IPv4地址段和/或IPv6地址段的不同证书使用者,签发同一数字证书。

根据本公开的实施例,对所述元数据进行IP地址前缀的扩展定义,包括:基于X.509v3版本,在标准扩展项中的Subiect Alternative Name中,最后增加一行iPPrefix的元素定义,所述iPPrefix的元素定义用于标记所述证书使用者的IPv4地址段和/或IPv6地址段。

本公开的第二方面提供了一种数字证书签发装置,包括:数据扩展模块,用于获取数字证书的元数据,对所述元数据的属性进行IP地址段前缀的扩展定义,生成扩展后的元数据;证书签发模块,用于使用证书工具签发所述扩展后的元数据。

本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述数字证书签发方法。

本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数字证书签发方法。

本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数字证书签发方法。

与现有技术相比,本公开提供的数字证书签发方法、装置、电子设备及介质,至少具有以下有益效果:

本公开支持IP地址前缀的数字证书签发,用于向用户签发包含整段IP地址信息的数字证书。进一步地,通过扩展X.509v3版本标准,基于OpenSSL软件对IP地址段进行数字证书的签发,方便拥有整段IP地址的用户申请支持整段IP地址的数字证书。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的适于实现数字证书签发方法的应用场景;

图2示意性示出了根据本公开实施例的数字证书签发方法的流程图;

图3示意性示出了根据本公开实施例的证书签发过程的流程图;

图4示意性示出了根据本公开实施例的证书请求文件创建过程的流程图;

图5示意性示出了根据本公开实施例的数字证书签发装置的框图;

图6示意性示出了根据本公开实施例的适于实现数字证书签发方法的电子设备的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。

在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。

在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。

图1示意性示出了根据本公开实施例的适于实现数字证书签发方法的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,本公开实施例提供的适于数字证书签发方法,应用在特定私域的可信通信场景下,例如,基于授权机构1的自组授权场景,其中,授权机构1与证书使用者2通过可信的内网通道进行信息交互。

进一步第,当授权机构1上安装的应用请求获取权限时,用户操作证书使用者2发送授权指令,授权机构1在接受该指令之后,通过内部的预设CA证书对应用添加签名信息,经过校验之后实现对该应用的签名。

需要说明的是,证书使用者2可以是智能手机或平板电脑等移动设备,也可以是PC电脑等固定设备;授权机构1可以是用于可信通信场景定制的个人私有云设备或家庭私有云设备。

以下将基于图1描述的应用场景,通过图2~图4对本公开实施例的数字证书签发方法进行详细描述。

图2示意性示出了根据本公开实施例的数字证书签发方法的流程图。

如图2所示,该实施例的数字证书签发方法可以包括操作S1~操作S2。

在操作S1,获取数字证书的元数据,对元数据的属性进行IP地址段前缀的扩展定义,生成扩展后的元数据。

本公开实施例中,IP地址段前缀包括证书使用者的IPv4地址段和/或IPv6地址段。

本公开实施例中,使用证书工具签发扩展后的元数据,还包括:对拥有同一IPv4地址段和/或IPv6地址段的不同证书使用者,签发同一数字证书。

进一步地,对元数据进行IP地址前缀的扩展定义,包括:基于X.509v3版本,在标准扩展项中的Subject Alternative Name中,最后增加一行iPPrefix的元素定义,iPPrefix的元素定义用于标记证书使用者的IPv4地址段和/或IPv6地址段。

具体而言,数字证书的元数据基于X.509v3版本进行属性的扩展定义。在InternetX.509的Public Key Infrastructure Certificate定义了Standard Extensions(标准扩展项),其中Subject Alternative Name包括了如下信息:

在最后一行,增加了元素定义:

iPPrefix [9] IA5String

由此,最终GeneralName的定义为:

在操作S2,使用证书工具签发扩展后的元数据。

需要说明的是,该证书工具已经过重新编译,能够兼容前述操作S1中扩展后的证书格式。

通过上述实施例,本公开先基于X.509v3版本进行扩展,定义数字证书的元数据的属性格式,在使用证书工具签发包含IP地址前缀信息的数字证书。

因此,本公开支持IP地址前缀的数字证书签发,基于X.509v3版标准,并在属性方面进行扩展,实现支持IPv4/IPv6地址段数字证书的签发。上述方法可以给用户签发包含整段IP地址的数字证书,免去拥有整段IP地址的用户给每个IP地址都申请证书的麻烦。

图3示意性示出了根据本公开实施例的证书签发过程的流程图。

如图3所示,本公开实施例中,上述操作S2中的使用证书工具签发扩展后的元数据,具体包括操作S21~操作S23。

在操作S21,使用OpenSSL命令生成私钥。

具体地,使用OpenSSL命令生成私钥,该命令例如可以参照如下:

openssl genrsa-out ipPrefix-key.pem 2048

在操作S22,利用私钥创建CSR证书请求文件。

图4示意性示出了根据本公开实施例的证书请求文件创建过程的流程图。

如图4所示,本公开实施例中,上述操作S22中的利用私钥创建CSR证书请求文件,具体包括操作S221~操作S222。

在操作S221,根据扩展后的元数据,编辑OpenSSL的配置文件。

具体地,编辑OpenSSL的配置文件,实现过程的伪代码例如可以参照如下:

Vi ipPrefix.conf

输入如下内容:

[req]

default_bits=2048

default_md=sha256

distinguished_name=req_distinguished_name

req_extensions=req_ext

prompt=no

[req_distinguished_name]

commonName=2001:da8:266:f404::1

organizationName=Cernet

organizationalUnitName=IT

localityName=Beijing

stateOrProvinceName=Beijing

countryName=CN

[req_ext]

subjectAltName=@alt_names

[alt_names]

IPPREFIX=2001:da8:266:f404::/64

在操作S222,使用配置文件生成CSR证书请求文件。

接着,使用配置文件生成CSR证书请求文件,实现过程的伪代码例如可以参照如下:

openssl req -new -key ipPrefix-key.pem -out ipPrefix.csr -configipPrefix.conf

在操作S23,利用私钥和CSR证书请求文件,生成更新后的数字证书。

具体地,基于CSR文件生成证书文件,实现过程的伪代码例如可以参照如下:

openssl x509 -req -days 365 -sha1 extensions v3_ca signkeyipPrefix-key.pem -in ipPrefix.csr -out ipPrefix.cer

通过上述的实施例,本公开提供了一种支持IP地址前缀的数字证书签发方法,用于向用户签发包含整段IP地址信息的数字证书。进一步地,通过扩展X.509v3版本标准,基于OpenSSL软件对IP地址段进行数字证书的签发,方便拥有整段IP地址的用户申请支持整段IP地址的数字证书。

基于上述实施例的方法,本公开还提供了一种数字证书签发装置。以下将结合图5对该装置进行详细描述。

图5示意性示出了根据本公开实施例的数字证书签发装置的框图。

如图5所示,该实施例的数字证书签发装置500包括数据扩展模块510和证书签发模块520。

数据扩展模块510,用于获取数字证书的元数据,对元数据的属性进行IP地址段前缀的扩展定义,生成扩展后的元数据。

证书签发模块520,用于使用证书工具签发扩展后的元数据。

通过本公开的实施例,本公开支持IP地址前缀的数字证书签发,用于向用户签发包含整段IP地址信息的数字证书。进一步地,通过扩展X.509v3版本标准,基于OpenSSL软件对IP地址段进行数字证书的签发,方便拥有整段IP地址的用户申请支持整段IP地址的数字证书。

根据本公开的实施例,数据扩展模块510和证书签发模块520中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,数据扩展模块510和证书签发模块520中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数据扩展模块510和证书签发模块520中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图6示意性示出了根据本公开实施例的适于实现数字证书签发方法的电子设备的方框图。

如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。电子设备600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的数字证书签发方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的数字证书签发方法。

在该计算机程序被处理器601执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 电子设备控制方法及装置、电子设备及存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 色温调节方法、图像处理方法及装置、介质和电子设备
  • 支持IPv6地址的数字证书签发方法、装置、电子设备及介质
  • 数字证书配置方法及装置、数字证书签发方法及装置
技术分类

06120115938426