聊聊SSL证书

在做运维工作之前,只是听说过SSL证书,做运维工作之后,也只是听说过SSL证书,因为不做这方面的工作,也不太去关心这个。不过现在,是时候学习一下,补充一下这方面的知识的时候了。网上搜了很多文章资料,但是感觉能把SSL证书介绍的通俗易懂,比较容易理解的,几乎没有啊!我就按照自己的理解,再写一篇有关SSL证书的文章吧。如有理解不对之处,还请帮忙指正,我也会及时更新过来。

我们先来看看什么是SSL。

SSL = Secure Sockets Layer, a cryptographic protocol used for network traffic。
摘自https://en.wikipedia.org/wiki/SSL

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。
摘自https://baike.baidu.com/item/ssl

所以,你看,SSL就是一种安全协议,简单的理解就是有了这玩意儿你的数据在网络上传输的话就更安全,是经过加密的。具体怎么实现的,不知道,反正就是各种加密的算法吧。

单聊SSL也没什么意思,它是要跟其它技术配合使用的,光靠它自己,也干不成什么事儿。提到SSL,那就必须说一下HTTPS,那啥叫HTTPS?

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。

所以,可以简单的理解:HTTPS = HTTP + SSL

HTTPS换成小写:https,是不是很熟悉?是的,你平时上网浏览的网页,很多很多都是基于https的。比如:https://www.taobao.com/

用你的浏览器打开淘宝首页,下面是用Firefox和IE打开淘宝首页的样子,浏览器不同,样子貌似不一样,不过都有一个小锁图标,一般有这个小锁图标,而且是绿色的,就说明是有证书的,也是相对来说比较安全的。

Firefox浏览器打开taobao首页:

用IE打开taobao首页:

接着你动动你的鼠标,点击一下那个小锁图标,就会弹出来一个小框框,下面有个查看证书,接着点下去。然后真正的证书信息窗口就会弹出来了,就像下面这个样子。
Genernal这个tab下面,可以看到这个证书是颁发给:*.tmall.com的,是由谁颁发的呢?看Issued by:GlobalSign Organization Validation CA - SHA256 - G2这个机构。
有效期是:10/25/2019 至 10/25/2020
看来taobao网的证书是前两天刚renew的。又花了老多钱了,哎,反正阿里也不差钱。这里你发现一个问题了没?这个证书是颁发给:*.tmall.com的,为什么浏览器地址栏里输入taobao.com浏览器也认为它是安全的呢?莫急,切听我慢慢道来。

咱们接着往下看,切到另外一个tab,details下来一探究竟。在Field下面,又有很多信息,你找到一个叫:Subject Alternative Name,点击一下,看看下面的信息发生了什么变化?一坨一坨的DNS Name出来了。你发现了麽?在开头的那一坨DNS Name的格式是以星号开头的,就是通配符的DNS Name,就是星号的地方你随便更改,只要后面是以.tmll.com, .1688.com, .3c.tmall.com等等等等结尾的,都可以用这个证书。

接着继续滚动鼠标,往下看,你会找到一个DNS Name = taobao.com,这也就是说地址栏里输入taobao.com,这个证书照样管用。

那现在,我们就聊聊,什么是Subject Alternative Name?

SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展。使用了 SAN 字段的 SSL 证书,可以扩展此证书支持的域名,使得一个证书可以支持多个不同域名的解析。 详细信息可参考:https://support.dnsimple.com/articles/what-is-ssl-san/

所以,你现在知道了吧?taobao只搞了一张证书,而且证书是只颁发给*.tmall.com的,但是其它阿里巴巴公司下面的域名都可以使用这一张证书,就是用了这个。只维护一张证书,是不是很方便呢?一般人可不知道这个,现在告诉你了,麻烦给这篇文章点个赞或者转发一下吧!

接下来,我们继续切换到Certificateion Path这个tab。我们来看看啊!
你会发现这个证书路径下,其实是嵌套的,三层结构。
第一层:GlobalSign Root CA ->这个是根证书,你点这个根证书,然后点击浏览证书那个按钮,就会再打开一个证书窗口,这个是根证书的详细信息。你可以发现一个很有趣的事情,TMD自己颁发给自己的。是的,你没看错,人家就是这么牛逼。
第二层:GlobalSign Organization Validation CA - SHA256 - G2 ->这个他们叫中间证书,就是一个中间商,还是个奸商。在根证书的颁发机构CA下面,会有不同的中间商。举个不太恰当的栗子,就好比工商管理局,它就是一个证书颁发机构CA,这个机构下面会分不同的部门来管理不同的证书类型,比如你要开一个饭店,那就需要管理餐饮方面的部门来给你发证书;如果你要开一个烟酒×××店,那估计是负责烟酒部门的给你发证书;你要开酒店,估计是旅馆部门管理的。。。
同样,你点一下中间证书,然后点击浏览证书按钮,你会发现它的证书是由根证书颁发机构颁发给它的。
第三层:*.tmall.com ->这个就是真正的证书了,颁发给你的证书了。详细信息在证书的General这个tab上面。

今天先写到这吧!改天继续。。。

原文地址:https://blog.51cto.com/jiaszwx/2447137

时间: 2024-09-28 12:57:41

聊聊SSL证书的相关文章

HTTPS那些事(二)SSL证书

转自:http://www.guokr.com/post/116169/ 从第一部分HTTPS原理中, 我们可以了解到HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密码.在握手过程中,网站会向浏览器发送SSL证书,SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于公钥加密的密码只能被在申请证书时生成的私钥解密,因此浏览器在生成密码之前需要先核对当前访问的

获取SSL证书的指纹

每一张SSL证书都有指纹(fingerprint)信息,若要获取,可以通过openssl或者certutil工具,分别在非Windows和Windows平台下使用 基本语法: openssl x509 -fingerprint -in cerfile.crt 若是报无法读取文件,那么极有可能是未指定格式,可尝试如下 openssl x509 -fingerprint -in cerfile.crt -inform PEM openssl x509 -fingerprint -in cerfile

SSL证书

一.什么是SSL证书? 首先说明SSL(安全套接层,Secure Sockets Layer)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障.SSL证书遵循SSL协议,可安装在服务器上,实现数据传输加密. CA(数字证书认证,Certificate Authority)机构,是承担公钥合法性检验的第三方权威机构,负责指定政策.步骤来验证用户的身份,并对SSL证书进行签名,确保证书持有者的身份和公钥的所有权.CA机构为每个使用公开密钥的用户发放一个SSL证书,SSL证书的作用是证明证

openssl生成ssl证书

x509证书一般会用到三类文,key,csr,crt. Key 是私用密钥openssl格,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥. crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证. 1.key的生成 openssl genrsa -des3 -out server.key 2048 这样是生成rsa私钥,des3算法,openssl格式,2048位强度

Nginx自签ssl证书创建及配置方法

场景: Nginx使用自签ssl证书实现https连接. 方法: 第一步:使用OpenSSL创建证书 #建立服务器私钥(过程需要输入密码,请记住这个密码)生成RSA密钥 >openssl genrsa -des3 -out server.key 1024 #生成一个证书请求     >openssl req -new -key server.key -out server.csr #需要依次输入国家,地区,组织,email.最重要的是有一个common name,可以写你的名字或者域名.如果为

Resin 4.0 部署SSL证书

前言 Resin目前最新的版本还是4.0 (4.0.49),使用Java EE6,在Resin上部署证书,一般有两种方式,首先我们推荐采用Openssl方式,不仅因为Openssl模式下的速度更快,而且Openssl对TLS的支持更好,安全性高:另外一种JSSE方式,不仅速度慢,而且JSSE6仅支持TLS1.0. 我们在下面会分别介绍这2种模式. 查找中间证书 如果采用Openssl模式部署证书,为了确保兼容到所有浏览器,我们必须部署中间证书,如果不这么做,虽然安装过程并不会报错,但可能导致An

在HAProxy中使用SSL证书进行连接

一.环境介绍 接到通知,要求网站由http改为使用https,目前我的网站前端架构如下图所示: 假设我们有两台物理机,每台物理机上面有很多的tomcat容器,前端使用的是haproxy进行的http层负载均衡,再前端我们使用了LVS负载均衡,整个LVS使用的是DR模型. 刚开始我打算把tomcat改成https,设置成之后再设置haproxy的时候,发现haproxy不能再使用负载均衡了,因为SSL是在第四层的,所以这个方案就结束了,下面我就尝试在haproxy层设定SSL,到后端还使用普通的连

PHP查看SSL证书信息

<? $str = file_get_contents('2.cer'); print_r(openssl_x509_parse($str)); ?> 证书需要使用base64编码的方式cer证书. PHP查看SSL证书信息,布布扣,bubuko.com

服务器安装SSL证书教程

在当下的web服务业务中,非常流行使用SSL网站证书,很多浏览器也开启了对http头的识别,从而进行提示网站数据通讯是否安全,在过去的http协议数据传输中,有非常多的不安全因素,还有可能发生域名劫持等事件,所以我们对网站开启SSL支持也是势在必行了,今天我们就以win2008为例,为大家讲解如何在win2008系统+IIS7.5中安装我们的SSL证书,过程非常简单方便. 1.首先我们要先去为域名申请SSL证书,可以申请SSL证书的地方非常多,服务商也很多,价格各有不同,我们可以根据自己的需求,