TLS:修订间差异
无编辑摘要 |
无编辑摘要 |
||
(未显示同一用户的3个中间版本) | |||
第13行: | 第13行: | ||
*2015年,[https://tools.ietf.org/html/rfc7568 RFC 7568] 标准弃用了SSL 3.0。 | *2015年,[https://tools.ietf.org/html/rfc7568 RFC 7568] 标准弃用了SSL 3.0。 | ||
*2018年8月,发布TLS 1.3 (即 [https://tools.ietf.org/html/rfc8446 RFC 8446])。 | *2018年8月,发布TLS 1.3 (即 [https://tools.ietf.org/html/rfc8446 RFC 8446])。 | ||
==SSL/TLS证书== | |||
===证书类型=== | |||
{| class="wikitable" style="width: 100%; | |||
! 证书类型 | |||
! 描述 | |||
! 描述 | |||
|- | |||
| 域名验证 (DV) 证书 <br \>Domain Validated Certificate | |||
| | |||
| | |||
|- | |||
|组织验证(OV)证书<br \>Organization Validated Certificate | |||
| | |||
| | |||
|- | |||
|扩展验证(EV)证书<br \>Extended Validation Certificate | |||
| | |||
| | |||
|} | |||
===数字证书颁发机构=== | |||
数字证书颁发机构(Certificate Authority,简称CA),是负责发放和管理数字证书的第三方机构。 | |||
{| class="wikitable" style="width: 100%; | |||
! 名称 | |||
! 描述 | |||
! 网址 | |||
|- | |||
|[[Let's Encrypt]] | |||
|提供免费、自动化地颁发的域名验证 (DV) 证书,不提供组织验证(OV)证书和扩展验证(EV)证书。 | |||
|https://letsencrypt.org/ | |||
|- | |||
| DigiCert | |||
| | |||
| https://www.digicert.com/ | |||
|- | |||
|GlobalSign | |||
| | |||
|https://www.globalsign.com/ | |||
|} | |||
=== 自签名证书 === | |||
自签名证书(self-signed certificate)是用自己的私钥签署的数字证书。自签证书和数字证书颁发机构(CA)签名证书一样可以用来加密数据,但不能用于向用户证明服务身份,浏览器会显示不安全。一般用于非公开的网页服务器、测试等。 | |||
=== 自建CA并签发CA证书 === | |||
==常见证书程序== | |||
{| class="wikitable" | |||
! 名称 | |||
! 描述 | |||
|- | |||
| [[Acme.sh]] | |||
| 是一个免费开源的ACME客户端脚本,支持证书自动签发和更新。 | |||
|- | |||
| | |||
| | |||
|- | |||
| | |||
| | |||
|} | |||
== 常见问题 == | |||
更新证书后没有生效? | |||
*1.检查证书有没有替换为新的证书,<code>ls -al 证书目录</code>查看下文件日期。对于docker容器部署,要查看容器内证书有没有正确更新,可以使用命令<code>docker exec 容器名称 ls -al 证书目录</code> | |||
*2.检查服务器软件证书目录配置是否正确,再重新加载配置,以刷新证书。如Nginx软件使用<code>nginx -s reload</code>重新加载配置,容器部署nginx可以使用<code>docker exec nginx nginx -s reload</code>。 | |||
*3.浏览器缓存了TLS会话信息,换个浏览器可以看到新证书已经生效。 | |||
==资源== | ==资源== | ||
===网站=== | ===网站=== | ||
* [https://www.websecurity.digicert.com/zh/cn/security-topics/what-is-ssl-tls-https Digicert:什么是 SSL、TLS 和 HTTPS?] | |||
* [https://cloud.tencent.com/document/product/400 腾讯云文档:SSL 证书] | |||
* [https://www.cloudflare.com/zh-cn/learning/ssl/what-is-ssl cloudflare:什么是 SSL?] | |||
* [https://docs.azure.cn/zh-cn/articles/azure-operations-guide/application-gateway/aog-application-gateway-howto-create-self-signed-cert-via-openssl Azure 文档: 如何用 OpenSSL 创建自签名证书] | |||
==参考资料== | ==参考资料== | ||
*[https://zh.wikipedia.org/wiki/传输层安全性协议 维基百科:传输层安全性协议] | *[https://zh.wikipedia.org/wiki/传输层安全性协议 维基百科:传输层安全性协议] | ||
[[分类: | [[分类:网络]] |
2023年12月18日 (一) 09:29的最新版本
传输层安全性协议(Transport Layer Security,TLS)及其前身安全套接层(Secure Sockets Layer,SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。
简介
时间轴
- 1994年,网景公司(Netscape)推出首版网景导航者网页浏览器时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。
- 1995年2月,发布SSL 2.0版
- 1996年,发布SSL 3.0版
- 1999年,IETF发布TLS 1.0(即 RFC 2246),是基于SSL 3.0将其标准化,并称为TLS(Transport Layer Security)。
- 2006年4月,发布TLS 1.1(即 RFC 4346),它是TLS 1.0的更新。
- 2008年8月,发布TLS 1.2(即 RFC 5246),基于TLS 1.1规范。
- 2014年10月,Google发布在SSL 3.0中发现设计缺陷,建议禁用此一协议。攻击者可以向TLS发送虚假错误提示,然后将安全连接强行降级到过时且不安全的SSL 3.0,然后就可以利用其中的设计漏洞窃取敏感信息。
- 2014年11月25日,Mozilla也在发布的Firefox 34中彻底禁用了SSL 3.0。
- 2015年,RFC 7568 标准弃用了SSL 3.0。
- 2018年8月,发布TLS 1.3 (即 RFC 8446)。
SSL/TLS证书
证书类型
证书类型 | 描述 | 描述 |
---|---|---|
域名验证 (DV) 证书 Domain Validated Certificate |
||
组织验证(OV)证书 Organization Validated Certificate |
||
扩展验证(EV)证书 Extended Validation Certificate |
数字证书颁发机构
数字证书颁发机构(Certificate Authority,简称CA),是负责发放和管理数字证书的第三方机构。
名称 | 描述 | 网址 |
---|---|---|
Let's Encrypt | 提供免费、自动化地颁发的域名验证 (DV) 证书,不提供组织验证(OV)证书和扩展验证(EV)证书。 | https://letsencrypt.org/ |
DigiCert | https://www.digicert.com/ | |
GlobalSign | https://www.globalsign.com/ |
自签名证书
自签名证书(self-signed certificate)是用自己的私钥签署的数字证书。自签证书和数字证书颁发机构(CA)签名证书一样可以用来加密数据,但不能用于向用户证明服务身份,浏览器会显示不安全。一般用于非公开的网页服务器、测试等。
自建CA并签发CA证书
常见证书程序
名称 | 描述 |
---|---|
Acme.sh | 是一个免费开源的ACME客户端脚本,支持证书自动签发和更新。 |
常见问题
更新证书后没有生效?
- 1.检查证书有没有替换为新的证书,
ls -al 证书目录
查看下文件日期。对于docker容器部署,要查看容器内证书有没有正确更新,可以使用命令docker exec 容器名称 ls -al 证书目录
- 2.检查服务器软件证书目录配置是否正确,再重新加载配置,以刷新证书。如Nginx软件使用
nginx -s reload
重新加载配置,容器部署nginx可以使用docker exec nginx nginx -s reload
。 - 3.浏览器缓存了TLS会话信息,换个浏览器可以看到新证书已经生效。