ssl证书的选型,你知道多少?

介绍

目前互联网常用的HTTP协议是非常不安全的明文传输协议。而SSL协议及其继任者TLS协议,是一种实现网络通信加密的安全协议,可在客户端(浏览器)和服务器端(网站)之间建立一条加密通道,保证数据在传输过程中不被窃取或篡改。
SSL证书,也称为服务器SSL证书,是遵守SSL协议的一种数字证书,由全球信任的证书颁发机构(CA)验证服务器身份后颁发。将SSL证书安装在网站服务器上,可实现网站身份验证和数据加密传输双重功能。

PS: HTTPS也就是HTTP+SSL,基于SSL协议的网站加密传输协议,是HTTP的安全版。


一、SSL证书的加密算法

1. 3种加密算法证书

加密算法 描述
RSA 目前普遍使用,在各个老旧平台浏览器里面兼容度很好
ECC 新兴的算法趋势,一般只需要 256 位加密长度即可达到相当的安全性,比 RSA 加密效率更高,但占用资源却比 RSA 更少。但缺点是一些比较老旧的系统环境中无法支撑这种算法,所以它的兼容性相比 RSA 要差一些。
SM2 SM2 国密算法的SSL证书也是刚刚兴起,目前仅仅少数几款浏览器支持,且对服务器环境要求较高,目前无法做到普遍部署。

SSL证书在提交申请的时候,就会需要选择加密算法,目前使用较多的依然是 RSA,或者 RSA 和 ECC 配合使用。在客户端实现自适应切换,即当用户环境支持 ECC 的时候,网站自动适配 ECC 加密算法的证书,否则就适配 RSA 的SSL证书。在某些情况下会选择 SM2 算法。目前Nginx 1.11.0 开始提供了对 RSA/ECC 双证书的支持

客户端兼容: RSA > ECC > SM2
ECC算法SSL证书无论是安全性及加密安全,响应速度都比RSA算法更高,所以ECC是未来主流算法

2. 3种加密算法证书的展示效果

RSA - SSL证书

使用 google浏览器 访问华为云。如下
https://auth.huaweicloud.com/


ECC - SSL证书

使用 google浏览器 访问阿里云。如下
https://www.aliyun.com/


SM2 - SSL证书

使用 零信浏览器 才可以访问到国密证书。如下
https://ebssec.boc.cn/


https://ebssec.boc.cn 是一个仅部署了国密SSL证书的网站,如果不是使用支持国密加密的浏览器访问的话,浏览器会提示“意外终止了连接



二、SSL证书类型DV、OV、EV

1.按照证书的类型-作用 区分

证书类型 全称 作用
DV SSl 域名型SSL证书 只验证域名所有权的简易型SSL证书,此类证书仅能起到网站机密信息加密的作用,无法向用户证明网站的真实身份,除了比其他两种类型的证书更快的周转时间外,最适合个人小型网站
OV SSL 企业型SSL证书 需要验证网站所有单位的真实身份的标准型SSL证书,需要购买者提交组织机构资料和单位授权信等在官方注册的凭证,能起到网站机密信息加密的作用,且能向用户证明网站的真实身份,适合企事业单位
EV SSL 增强型SSL证书 用于网站的身份验证和信息在网上的传输加密,但验证流程更加具体详细,步骤更多,证书所绑定的网站也更加的可靠可信

2.按照证书的类型-价格和展示信息 区分

证书类型 价格 证书展示的信息
DV SSl 免费/通配符证书收费, 0-1500元,便宜 (一般) CA机构审核个人网站真实性、不验证企业真实性
OV SSL 收费, 2000元-11000元,中等 (高)CA机构审核组织及企业真实性
EV SSL 收费,10000元+,昂贵 (最高)严格认证

3.按照证书的类型-域名类型 区分

证书类型 域名类型
DV SSl 单域名、多域名、泛域名
OV SSL 单域名、多域名、泛域名
EV SSL 单域名、多域名

三、 SSL证书品牌

1.高端SSL证书品牌

品牌 场景 描述
Digicert Secure Site 高端SSL证书,银行证券等金融行业最热门首选SSL证书 原Symantec证书,被Digicert收购,专业版即Digicert Secure Site Pro OV通配符证书兼具Secure Site OV通配符SSL证书的所有功能,另提供优先级验证、优先级支持、CT日志监控(每周7天24小时的全天候监控)、欺诈检测、恶意软件扫描、支持后量子密码学加密等服务 可分为标准版和专业版
Globalsign 高端SSL证书,国内各大电商企业所使用,如阿里、百度、天猫 行业内最受信的证书颁发机构,它的根证书可以兼容一些老版本浏览器,支持SHA 256签名,支持RSA和ECC加密算法

2.便宜SSL证书品牌

品牌 场景 描述
Geotrust 便宜SSL证书, 中小型企业网站 一款全球最大的数字证书颁发机构之一,是Digicert旗下证书品牌。证书安全性好,兼容性高,性价比高。与Digicert旗下的赛门铁克相比,Geotrust证书便宜得多,性能也相差不大
锐安信sslTrus 便宜SSL证书, 国内企事业单位 支持国际RSA和ECC算法,兼容性好,锐安信通配符证书支持国内OCSP验签,大幅提高HTTPS访问速度,性价比非常高
Sectigo 便宜SSL证书,中小型企业的首选 全球著名CA,也是全球SSL证书占有率最高的证书颁发机构。支持RSA和ECC算法,安全可信、价格便宜
PositiveSSL 便宜SSL证书,轻型电子商务 是Sectigo旗下品牌,价格亲民,入门性价比高,签发速度快,几分钟可签发,兼容99.3%的浏览器
RapidSSL 便宜SSL证书,适合入门级网站 是Geotrust旗下产品,仅有DV型SSL证书,其主要优点是价格低廉,几分钟快速签发

3.免费SSL证书品牌

品牌 场景 描述
TrustAsia 便宜SSL证书,免费的ssl证书, 中小型企业网站 支持主流的加密方式(ECC、RSA),支持中国区 OCSP,并为客户提供7*24小时全天候一对一技术支持服务
Let's Encrypt 便宜SSL证书,免费的ssl证书, 中小型企业网站

免费SSL证书申请及部署实践


四、主流Web服务软件的证书格式

一般来说,主流的Web服务软件,通常都基于OpenSSL和Java两种基础密码库。

Web服务软件 密码库 描述
Tomcat

Weblogic

JBoss
使用Java提供的密码库,通过Java Development Kit (JDK)工具包中的Keytool工具, 生成Java Keystore(JKS)格式的证书文件
Apache

Nginx
使用OpenSSL工具提供的密码库 生成PEM、KEY、CRT等格式的证书文件
Websphere

IBM Http Server(IHS)
使用IBM产品自带的iKeyman工具 生成KDB格式的证书文件
Internet Information Services(IIS) 使用Windows自带的证书库 生成PFX格式的证书文件

证书格式

如果存在——BEGIN CERTIFICATE——,则说明这是一个证书文件
如果存在—–BEGIN RSA PRIVATE KEY—–,则说明这是一个私钥文件

格式 描述
.DER或.CER文件 这样的证书文件是二进制格式,只含有证书信息,不包含私钥
*.CRT文件 这样的证书文件可以是二进制格式,也可以是文本格式,一般均为文本格式,功能与 .DER及.CER证书文件相同
.PEM文件 这样的证书文件一般是文本格式,可以存放证书或私钥,或者两者都包含。 .PEM 文件如果只包含私钥,一般用.KEY文件代替
.PFX或.P12文件 这样的证书文件是二进制格式,同时包含证书和私钥,且一般有密码保护

证书格式转换

将PEM/KEY/CRT格式证书转换为PFX格式

可以使用 OpenSSL工具,将KEY格式密钥文件和CRT格式公钥文件转换成PFX格式证书文件

例如,将您的KEY格式密钥文件(server.key)和CRT格式公钥文件(server.crt)拷贝至OpenSSL工具安装目录,
使用OpenSSL工具执行以下命令将证书转换成 server.pfx证书文件:

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

将PFX转换为PEM/KEY/CRT

可以使用 OpenSSL工具,将PFX格式证书文件转化为KEY格式密钥文件和CRT格式公钥文件。

例如,将您的PFX格式证书文件拷贝至OpenSSL安装目录,使用OpenSSL工具执行以下命令将证书转换成server.pem证书文件
KEY格式密钥文件(server.key)和CRT格式公钥文件(server.crt.

openssl pkcs12 -in server.pfx -nodes -out server.pem
openssl rsa -in server.pem -out server.key
openssl x509 -in server.pem -out server.crt

将PFX格式证书转换为JKS格式

可以使用JDK中自带的Keytool工具,将PFX格式证书文件转换成JKS格式。

例如,您可以执行以下命令将 server.pfx证书文件转换成 server.jks证书文件:

keytool -importkeystore -srckeystore D:server.pfx -destkeystore D:server.jks -srcstoretype PKCS12 -deststoretype JKS

将JKS格式证书转换成PFX格式

可以使用JDK中自带的Keytool工具,将JKS格式证书文件转换成PFX格式。

例如,您可以执行以下命令将 server.jks证书文件转换成 server.pfx证书文件:

keytool -importkeystore -srckeystore D:server.jks -destkeystore D:server.pfx -srcstoretype JKS -deststoretype PKCS12
posted @ 2022-07-28 15:38  爱折腾的大臭臭  阅读(465)  评论(0编辑  收藏  举报