前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSL证书的区别和申请办法

SSL证书的区别和申请办法

原创
作者头像
mariolu
发布2019-04-08 22:40:54
2.7K0
发布2019-04-08 22:40:54
举报

一、自签证书和非自签证书的区别

1.1、证书的信任链

从2017年开始意味着浏览器迁移HTTPS的重要开始,因为Chrome 56版本讲HTTP标记为非安全的网站。证书是用于SSL安全通信信道鉴权,它可以防止中间人攻击。证书有一条信任链,证书的真实安全身份由签发者提供保证,这一个信任关系常见的有2~4级,根证书的机构就是那些知名机构,这些知名机构被安装于世界上几乎所有主流的浏览器。一个证书通过工具查看到证书的拥有者和签发者。

图一、证书的信任链
图一、证书的信任链

openssl的x509工具提供了查看所有者(subject)和颁发者(issuer)的方法。

代码语言:javascript
复制
> openssl x509 -subject -issuer -noout -in root-ca.crt 
subject=C = CN, ST = guangdong, L = shenzhen, O = Shenzhen Tencent Computer Systems Company Limited, CN = nc.qzone.qq.com
issuer=C = BE, O = GlobalSign nv-sa, CN = GlobalSign Organization Validation CA - SHA256 - G2

1.2、自签发和机构签发证书

机构签发的证书subject和issuer项目名字不一样,而自签的证书subject和issuer是同一个项目。比如下面就是一个自签发的证书。

代码语言:javascript
复制
subject=C = cn, ST = gd, L = sz, O = tencent, OU = apd, CN = www.mariolu.com
issuer=C = cn, ST = gd, L = sz, O = tencent, OU = apd, CN = www.mariolu.com

自签发的证书是没有被信任。机构证书的签发者都是公认的知名CA机构。知名CA机构会被主流客户端和服务器所认可。所以自签发的证书在https通信中会被浏览器识别并向访问者发出安全警告。

1.3、证书的签发机构

目前公认的知名CA机构有(RapidSSL,Symantec(VeriSign),GeoTrust,Thawte,Cornodo,Sectigo等)(https://www.sslrenewals.com/ssl-brands.aspx)。每家CA机构提供不同安全等级的证书和价格服务。

图二、知名的CA签发机构
图二、知名的CA签发机构

证书鉴权分为三种安全类型等级:

  • 域名鉴权(最低等级):这种级别的证书也称为DV(Domian Validation)证书。只验证证书的注册网站域名,可10分钟快速颁发,能起到加密传输的作用,但无法向用户证明网站的真实身份。也只是证明了该域名是正确的,无法证明网站的真实注册身份,所以有可能被钓鱼网站 利用。免费签发证书都是这个类型的,只是提供了对数据的加密,但是对提供证书的个人和机构的身份不做验证
  • 组织鉴权:OV(Organization Validation)证书,OV SSL,对申请者做严格的身份审核验证,提供可信身份证明。证书上显示了公司的真实注册身份。安全性更高。OV申请是收费的~
  • 扩展鉴权(最高等级):EV(Extended Validation),最安全、最严格 超安EV SSL证书遵循全球统一的严格身份验证标准,在地址栏可以显示公司名字。一般用于金融支付电商行业等强调网站安全,或者强调企业可信形象的网站,涉及交易支付、客户隐私信息和账号密码的传输,申请费用也是最贵的。

1.4、证书的选择

  • 多域名证书,一个证书覆盖多个具体域名的证书。
  • 泛域名证书:所有的二级三级(n级)子域名网站,可以通配的证书。但是这里通配符只能是一个级别的证书。比如*.qq.com可以匹配aa.qq.com而不能匹配b.aa.qq.com.。这里的通配符是无限个数的子域名证书,所以如果新的域名要接入https,显然是最方便的。 但是泛域名证书不能做到EV级别安全的
  • CA机构的选择:除了以上的区别,剩下的只有算法的区别。不同的产商提供不同的算法。安全等级高、性能快、价格便宜是最优的选择。一般来说:RapidSSL的产品快速、价格适中。GeoTrust提供的证书比较适用于商业化网站。小型网站,在所有厂家中平衡性高的是Symantec。Comodo像是这几家的混合体。

1.5、免费和收费证书的区别

收费的和免费的签发证书有什么区别呢?有以下三个主要区别

  • 证书类型:免费的只有DV安全级别的证书
  • 有效期:免费的一般只有1~3月的有效期。而收费的有1~2年。
  • 当然收费的CA机构有一整套售后服务支持体系.收费机构的更有保证。

二、怎么申请免费的非自签证书

这里以签发一本ECC证书为例介绍如何生成自签名证书,如何生成免费的非自签证书。

2.1、自签证书

利用openssl自带工具生成ECC证书:

代码语言:javascript
复制
openssl ecparam -genkey -name prime256v1 -out key.pem //生成ECC key
openssl req -new -sha256 -key key.pem -out csr.csr //生成CSR证书签名请求
openssl req -x509 -sha256 -days 365 -key key.pem -in csr.csr -out certificate.pem//生成证书
openssl req -in csr.csr -text -noout | grep -i "Signature.*SHA256" && echo "All is well" || echo "This certificate will stop working in 2017! You must update OpenSSL to generate a widely-compatible certificate"

需要注意的是:如果遇到生成pem使用openssl格式报RAND file不存在,需要在openssl.cnf(我的路径/usr/local/openssl_1.1.1/ssl/openssl.cnf)的RANDFILE = /data/mariolu/ecc/randfile。这个randfile使用urandom设备生成。命令dd if=/dev/urandom of=randfile bs=256 count=1

2.2、生成免费的非自签证书

这里以网上比较流行的免费CA机构签发者Let's Encrypt(https://letsencrypt.org/getting-started/)为例生成非自签发ECC证书,通过该网站的连接https://certbot.eff.org/找到cerbot这个shell工具,用这个工具生成ECC证书。

生成步骤:

  • 这两个生成私钥和csr请求,和自签证书生成的前两个步骤一样:
代码语言:javascript
复制
openssl ecparam -genkey -name secp384r1 | openssl ec -out elsenow-ecc.key
openssl req -new -sha256 -key elsenow-ecc.key -nodes -out elsenow-ecc.csr -outform pem
  • 和自签不一样的是,csr文件通过cerbot提供的工具端进一步生成证书。这里注意的是提供的注册域名必须是真实的,可以解析到ip的域名。
代码语言:javascript
复制
sh -x ./certbot-auto --cb-auto-has-root --le-auto-phase2 certonly --csr /data/mariolu/elsenow-ecc.csr --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

执行完成后,会生成三个文件0000_cert.pem(业务证书部分),0000_chain.pem(CA证书部分),0001_chain.pem(业务证书部分+CA证书部分)。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、自签证书和非自签证书的区别
    • 1.1、证书的信任链
      • 1.2、自签发和机构签发证书
        • 1.3、证书的签发机构
          • 1.4、证书的选择
            • 1.5、免费和收费证书的区别
            • 二、怎么申请免费的非自签证书
              • 2.1、自签证书
                • 2.2、生成免费的非自签证书
                相关产品与服务
                SSL 证书
                腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                http://www.vxiaotou.com