CN108989046A - 一种ssl证书链自动补全方法 - Google Patents
一种ssl证书链自动补全方法 Download PDFInfo
- Publication number
- CN108989046A CN108989046A CN201810788947.1A CN201810788947A CN108989046A CN 108989046 A CN108989046 A CN 108989046A CN 201810788947 A CN201810788947 A CN 201810788947A CN 108989046 A CN108989046 A CN 108989046A
- Authority
- CN
- China
- Prior art keywords
- certificate
- signing
- information
- issuing
- common name
- 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.)
- Granted
Links
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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
Abstract
本发明公开了一种SSL证书链自动补全方法,包括以下步骤:校验所输入证书的完整性;判断所输入证书的编码格式,若证书格式为DER格式,则将DER格式的证书转换为PEM格式的证书;根据解析出的证书内容得到证书的有效期;根据解析出的证书内容获取证书的签发方信息及通用名信息,比较签发方信息与通用名信息是否一致;签发方信息与通用名信息不一致时,将此证书加入到证书链文件;根据此证书的签发方信息匹配证书库中通用名信息为此签发方信息的证书;将匹配后的证书再次进行签发方信息与通用名信息判断,直至证书的签发方与通用名一致,流程结束。本发明自动、批量地将证书文件补全,省略了人工校验证书完整性、证书编码格式、证书链的补全工作。
Description
技术领域
本发明涉及SSL证书领域,特别是一种SSL证书链自动补全方法。
背景技术
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道,通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性,而且用户可以通过服务器证书验证它所访问的网站是否是真实可靠。
网站想要使用HTTPS协议需要由信任的数字证书机构颁发SSL数字证书,需要在证书机构申请证书,在颁发方通过服务器验证身份后会颁发对应服务器的数字证书,将证书部署在网站的服务器上可以使用HTTPS协议。
在服务器上部署SSL协议需要证书文件及与证书匹配的私钥。证书文件一般包含颁发的服务器证书、以及签发此证书所用的中间证书。一般用户系统包含信任的根证书,所以不需要根证书。中间证书可能有多级,包含服务器证书和中间证书的文件一般称为证书链,客户端和服务器端通信的过程中需要验证证书链的完整及有效性,有效并且完整才可以建立通信。
现有SSL证书链补全方法是通过人工的方式在SSL证书颁发方的网站或其他渠道获取相应的中级证书,根据所购买的证书型号,在颁发方网站下载证书型号相对应的中间证书,并人工将颁发的证书及下载的中间证书合成一个证书文件。可见,现有方法需要人工去相关SSL证书颁发方网站获取相应的中间证书,不同的证书机构、不同的证书类型所使用的中间证书都可能存在差异,无法实现批量、自动获取。
相关术语
HTTPS:安全加密的超文本传输协议;
SSL:安全套接层,是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密;
SSL证书:由受信任的数字证书颁发机构,在验证服务器身份后颁发的一种数字证书,具有服务器身份验证和数据传输加密功能;
OpenSSL:OpenSSL是个软件包,功能主要包括密码算法库、SSL协议库以及应用程序。
发明内容
本发明所要解决的技术问题是提供一种SSL证书链自动补全方法,可以自动、批量地将证书文件补全,省略人工校验证书完整性、证书编码格式、证书链的补全工作。
为解决上述技术问题,本发明采用的技术方案是:
一种SSL证书链自动补全方法,包括以下步骤:
步骤1:校验所输入证书的完整性,即通过OpenSSL工具解析证书,若证书不能正确解析,则表明证书不完整或者证书有误;在证书完整的情况下,进行后续流程;
步骤2:判断所输入证书的编码格式,若证书格式为DER格式,则将DER格式的证书转换为PEM格式的证书;
步骤3:根据解析出的证书内容得到证书的有效期,若证书还在有效期之内则进行下一步;
步骤4:根据解析出的证书内容获取证书的签发方信息及通用名信息,比较签发方信息与通用名信息是否一致;若签发方信息与通用名信息一致,则此证书是根证书,流程结束;若签发方信息与通用名信息不一致,则此证书不是根证书,进行后续流程;
步骤5:签发方信息与通用名信息不一致时,将此证书加入到证书链文件;若证书链文件不存在,则此证书为服务器证书,需新建文件并加入此证书;
步骤6:根据此证书的签发方信息匹配证书库中通用名信息为此签发方信息的证书;匹配后的证书是由此证书签发方使用签发方证书签发的证书,因此通用名信息为此证书签发方信息的证书是此证书的上级证书,即中间证书;
步骤7:将步骤6中获取的匹配后的证书进行步骤4所述流程,再次判断证书的签发方信息与通用名信息,不一致则继续加入证书链文件并匹配上级证书;重复步骤4至步骤6直至步骤4中证书的签发方与通用名一致,匹配到根证书流程结束,即SSL证书链自动补全完成。
进一步的,所述步骤1还包括当证书不完整或者证书有误时,返还证书不完整或者证书有误的提示,流程结束。
进一步的,所述步骤2具体是通过OpenSSL工具将DER格式证书转换为PEM格式。
进一步的,所述步骤3还包括:若证书不在有效期之内,则返回证书过期的提示,流程结束。
与现有技术相比,本发明的有益效果是:可以自动、批量地校验证书并将证书链文件补全,而不是通过人工去判断证书的格式、证书的有效期、证书的型号以及所需的颁发方中间证书,省去人工合成证书链的过程。
附图说明
图1是本发明一种SSL证书链自动补全方法流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明SSL证书链自动补全方法实现了证书文件格式的判断与自动转换,证书的有效性以及完整性的校验,证书的型号判断,中间证书的匹配,完整证书链文件的输出。具体包括以下步骤:
1、校验所输入证书的完整性,通过OpenSSL工具解析证书,不能正确解析的证书则是不完整证书或有误的证书。能正确解析的证书可以获得证书的完整内容,包含证书的通用名、颁发方、有效期等信息;若是有误的证书或者不完整的证书,则返还证书有误的提示,流程结束。
2、判断所输入证书的编码格式,一般证书的编码式分为PEM和DER两种。PEM为文本文件格式,DER为二进制文件格式。文本可读的证书即为PEM格式,否则为DER格式,通过OpenSSL工具可将DER格式的证书转换为PEM格式的证书。
3、根据解析出的证书内容得到证书的有效期,如果证书的有效期在此时之前,则证书已过期,过期的证书客户端将不再信任,无法使用加密传输。证书还在有效期之内则进行下一步,否则返回证书过期的提示并流程结束。
4、根据解析出的证书内容获取证书的签发方信息及通用名信息,比较签发方信息与通用名信息是否一致。根证书的签发方信息与通用名信息是一致的,若比较的签发方信息与通用名信息一致,则此证书是根证书,流程结束。
5、当签发方信息与通用名信息不一致时,此证书不是根证书,需要将此证书加入到证书链文件。若证书链文件不存在,则此证书为服务器证书,需新建文件并加入此证书。
6、根据此证书的签发方信息匹配证书库中通用名信息为此签发方信息的证书;匹配后的证书是由此证书签发方使用签发方证书签发的证书,因此通用名信息为此证书签发方信息的证书是此证书的上级证书(中间证书)。
7、将步骤6中获取的匹配后的证书进行步骤4所述流程,再次判断证书的签发方信息与通用名信息,不一致则继续加入证书链文件并匹配上级证书。重复步骤4至步骤6直至步骤4中证书的签发方信息与通用名信息一致,匹配到根证书流程结束。
8、若流程中匹配到了根证书,则此时的证书链文件完整,使用此完整的证书文件即可使用SSL协议,加密传输。如未匹配到根证书则证书或中间证书有误,最初输入的证书无完整的证书链文件,无法使用SSL协议。
Claims (4)
1.一种SSL证书链自动补全方法,其特征在于,包括以下步骤:
步骤1:校验所输入证书的完整性,即通过OpenSSL工具解析证书,若证书不能正确解析,则表明证书不完整或者证书有误;在证书完整的情况下,进行后续流程;
步骤2:判断所输入证书的编码格式,若证书格式为DER格式,则将DER格式的证书转换为PEM格式的证书;
步骤3:根据解析出的证书内容得到证书的有效期,若证书还在有效期之内则进行下一步;
步骤4:根据解析出的证书内容获取证书的签发方信息及通用名信息,比较签发方信息与通用名信息是否一致;若签发方信息与通用名信息一致,则此证书是根证书,流程结束;若签发方信息与通用名信息不一致,则此证书不是根证书,进行后续流程;
步骤5:签发方信息与通用名信息不一致时,将此证书加入到证书链文件;若证书链文件不存在,则此证书为服务器证书,需新建文件并加入此证书;
步骤6:根据此证书的签发方信息匹配证书库中通用名信息为此签发方信息的证书;匹配后的证书是由此证书签发方使用签发方证书签发的证书,因此通用名信息为此证书签发方信息的证书是此证书的上级证书,即中间证书;
步骤7:将步骤6中获取的匹配后的证书进行步骤4所述流程,再次判断证书的签发方信息与通用名信息,不一致则继续加入证书链文件并匹配上级证书;重复步骤4至步骤6直至步骤4中证书的签发方与通用名一致,匹配到根证书流程结束,即SSL证书链自动补全完成。
2.根据权利要求1所述的一种SSL证书链自动补全方法,其特征在于,所述步骤1还包括当证书不完整或者证书有误时,返还证书不完整或者证书有误的提示,流程结束。
3.根据权利要求1所述的一种SSL证书链自动补全方法,其特征在于,所述步骤2具体是通过OpenSSL工具将DER格式证书转换为PEM格式。
4.根据权利要求1所述的一种SSL证书链自动补全方法,其特征在于,所述步骤3还包括:若证书不在有效期之内,则返回证书过期的提示,流程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810788947.1A CN108989046B (zh) | 2018-07-18 | 2018-07-18 | 一种ssl证书链自动补全方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810788947.1A CN108989046B (zh) | 2018-07-18 | 2018-07-18 | 一种ssl证书链自动补全方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108989046A true CN108989046A (zh) | 2018-12-11 |
CN108989046B CN108989046B (zh) | 2021-05-04 |
Family
ID=64548869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810788947.1A Active CN108989046B (zh) | 2018-07-18 | 2018-07-18 | 一种ssl证书链自动补全方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108989046B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766409A (zh) * | 2019-10-24 | 2020-02-07 | 深圳前海微众银行股份有限公司 | Ssl证书校验方法、装置、设备及计算机存储介质 |
CN111314085A (zh) * | 2020-01-22 | 2020-06-19 | 维沃移动通信有限公司 | 数字证书验证方法及装置 |
CN112187708A (zh) * | 2019-07-05 | 2021-01-05 | 上海云盾信息技术有限公司 | 数字证书的证书链的自动补全方法及设备 |
CN114268431A (zh) * | 2021-12-16 | 2022-04-01 | 统信软件技术有限公司 | 浏览器证书转码方法及装置、计算设备、可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691579A (zh) * | 2004-04-22 | 2005-11-02 | 微软公司 | 根据多个链式数字证书在内容保护系统中呈现数字内容 |
US20090327696A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Authentication with an untrusted root |
CN101674304A (zh) * | 2009-10-15 | 2010-03-17 | 浙江师范大学 | 一种网络身份认证系统及方法 |
CN103001965A (zh) * | 2012-12-10 | 2013-03-27 | 北京星网锐捷网络技术有限公司 | 服务器证书更新方法及服务器 |
CN103297816A (zh) * | 2013-05-08 | 2013-09-11 | 深圳创维数字技术股份有限公司 | 一种安全下载方法及数字电视接收终端 |
CN106230602A (zh) * | 2016-09-09 | 2016-12-14 | 上海携程商务有限公司 | 数字证书的证书链的完整性检测系统及方法 |
CN106533691A (zh) * | 2016-10-18 | 2017-03-22 | 北京信安世纪科技有限公司 | 一种数字证书有效性的验证方法及装置 |
-
2018
- 2018-07-18 CN CN201810788947.1A patent/CN108989046B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691579A (zh) * | 2004-04-22 | 2005-11-02 | 微软公司 | 根据多个链式数字证书在内容保护系统中呈现数字内容 |
US20090327696A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Authentication with an untrusted root |
CN101674304A (zh) * | 2009-10-15 | 2010-03-17 | 浙江师范大学 | 一种网络身份认证系统及方法 |
CN103001965A (zh) * | 2012-12-10 | 2013-03-27 | 北京星网锐捷网络技术有限公司 | 服务器证书更新方法及服务器 |
CN103297816A (zh) * | 2013-05-08 | 2013-09-11 | 深圳创维数字技术股份有限公司 | 一种安全下载方法及数字电视接收终端 |
CN106230602A (zh) * | 2016-09-09 | 2016-12-14 | 上海携程商务有限公司 | 数字证书的证书链的完整性检测系统及方法 |
CN106533691A (zh) * | 2016-10-18 | 2017-03-22 | 北京信安世纪科技有限公司 | 一种数字证书有效性的验证方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187708A (zh) * | 2019-07-05 | 2021-01-05 | 上海云盾信息技术有限公司 | 数字证书的证书链的自动补全方法及设备 |
CN112187708B (zh) * | 2019-07-05 | 2023-07-28 | 上海云盾信息技术有限公司 | 数字证书的证书链的自动补全方法及设备 |
CN110766409A (zh) * | 2019-10-24 | 2020-02-07 | 深圳前海微众银行股份有限公司 | Ssl证书校验方法、装置、设备及计算机存储介质 |
CN111314085A (zh) * | 2020-01-22 | 2020-06-19 | 维沃移动通信有限公司 | 数字证书验证方法及装置 |
CN111314085B (zh) * | 2020-01-22 | 2023-05-23 | 维沃移动通信有限公司 | 数字证书验证方法及装置 |
CN114268431A (zh) * | 2021-12-16 | 2022-04-01 | 统信软件技术有限公司 | 浏览器证书转码方法及装置、计算设备、可读存储介质 |
CN114268431B (zh) * | 2021-12-16 | 2023-06-16 | 统信软件技术有限公司 | 浏览器证书转码方法及装置、计算设备、可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108989046B (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989046A (zh) | 一种ssl证书链自动补全方法 | |
CN104065484B (zh) | 一种基于sdk短信和数字签名的电子合同平台实现方法 | |
EP1902539B1 (en) | User mapping information extension for protocols | |
US8549301B2 (en) | Method and computer system for ensuring authenticity of an electronic transaction | |
CN100566255C (zh) | 提高智能密钥设备安全性的方法和系统 | |
US20020038290A1 (en) | Digital notary system and method | |
CN103973695A (zh) | 一种与服务器验证的签名算法 | |
CN104394172B (zh) | 单点登录装置和方法 | |
US20070226507A1 (en) | Method and System for Depositing Digital Works, A Corresponding Computer Program, and a Corresponding Computer-Readable Storage Medium | |
CN101295387A (zh) | 一种实现网上交易数据电文的方法 | |
HUE029807T2 (en) | Systems and procedures for executing a secure payment transaction using a formatted data structure | |
CN102523095B (zh) | 具有智能卡保护的用户数字证书远程更新方法 | |
CN113360861B (zh) | 一种面向抵押贷款的基于中继器跨链的去中心化身份方法 | |
CN106713279A (zh) | 一种视频终端身份认证系统 | |
CN102082664A (zh) | 网络数据安全传输系统及方法 | |
CN112600669B (zh) | 一种密码算法和符合性验证系统 | |
CN111222879A (zh) | 一种适用于联盟链的无证书认证方法及系统 | |
CN104349313A (zh) | 业务授权方法、设备及系统 | |
CN110677259A (zh) | 一种电子合同全链路实时公证系统及方法 | |
US20230031316A1 (en) | End-To-End Verifiable Proof of Votes Cast in Elections | |
CN112039675A (zh) | 一种基于区块链智能合约的令牌生成与认证方法 | |
CN109951367A (zh) | 一种待开源车辆平台的整车控制协议的加密方法 | |
CN102457546B (zh) | 网状Web应用服务器单点登录的方法、装置及系统 | |
CN111311449A (zh) | 一种基于声纹认证技术的电子合同签约方法 | |
KR20010093576A (ko) | 인터넷 전자상거래시 신용카드의 일부 번호와 이동 통신단말기 번호를 이용하여 인증 및 지불거래를 하는 방법 |
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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 9/F, Block C, No. 28 Tianfu Avenue North Section, Chengdu High tech Zone, China (Sichuan) Pilot Free Trade Zone, Chengdu City, Sichuan Province, 610000 Patentee after: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd. Address before: 610000, 11th floor, building 2, No. 219, Tianfu Third Street, hi tech Zone, Chengdu, Sichuan Province Patentee before: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd. |