SSL(Secure Sockets Layer)是一种安全协议,用于在互联网上建立加密的连接,确保数据传输的安全性和完整性。SSL协议主要用于在客户端(如浏览器)和服务器之间创建一个加密的通道,防止数据在传输过程中被截获或篡改。以下是SSL的一些关键点:

  1. 加密:SSL协议通过使用加密算法(如RSA、AES等)对传输的数据进行加密,确保数据的机密性。
  2. 认证:SSL协议通过使用数字证书来验证服务器和(可选的)客户端的身份,确保数据传输给正确的接收者。
  3. 完整性:SSL协议通过使用消息摘要算法(如SHA-256)来确保数据在传输过程中未被篡改。
  4. 握手过程:在SSL连接建立之前,客户端和服务器会进行一个握手过程,协商加密算法、密钥等参数,并交换证书以验证身份。
  5. HTTPS:在Web浏览器中,SSL通常与HTTP协议一起使用,形成HTTPS(HTTP Secure),即安全的超文本传输协议。
  6. TLS:SSL的继任者是TLS(Transport Layer Security),两者在功能上相似,但TLS是更新的协议,提供了更多的安全性改进和功能。
  7. 证书颁发机构(CA):证书颁发机构是颁发和管理SSL/TLS证书的组织,它们负责验证服务器的身份,并为服务器颁发数字证书。
  8. 浏览器兼容性:大多数现代Web浏览器都支持SSL/TLS协议,可以自动处理SSL握手和证书验证。

  1. Let's Encrypt:这是一个非营利性的证书颁发机构,提供免费的SSL/TLS证书,被广泛使用,超过3亿个网站使用其服务。Let's Encrypt的证书有效期为90天,但可以自动续订,实现永久免费。
  2. ZeroSSL:ZeroSSL提供终身免费的SSL证书,证书有效期为90天,但可以自动续订。他们还为有更高SSL需求的人提供了付费计划。
  3. SSLforfree:提供永久免费的SSL证书,通过域验证提供认证的非营利性利用ACME服务器。
  4. CloudFlare:Cloudflare提供免费的SSL解决方案,许多流行网站依赖Cloudflare来确保安全性和速度。要使用Cloudflare免费SSL,需要登录Cloudflare账户或创建一个,并选择要启用SSL的网站。
  5. FreeSSL.org:使用Let's Encrypt和Buypass提供永久免费的SSL证书。使用Let's Encrypt的证书有效期为3个月,而使用Buypass的有效期为6个月,所有证书均可自动续订,并提供证书到期提醒服务。
  6. acmessl.cn:acmessl携手全球权威可信顶级根,自研新一代SSL证书,全系列支持90天免费使用,支持连续签发。
  7. 阿里云:阿里云提供Digicert品牌的免费SSL证书,每个阿里云账号可免费申请20张单域名证书,免费时长为3个月。

【https证书不受信任的原因】

1、自签名https证书若得祸

网站出现"https证书不受信任"可能是网站使用了自签名证书。自签名证书是一种自己生成的https证书,没有通过合法第三方CA机构审核签发,任何人都可以生成(包括钓鱼网站),很容易被仿冒和伪造,容易受到中间人攻击,存在较大的安全风险,同时浏览器也不信任自签名证书,故部署了自签名证书的网站会出现"https证书不受信任"。(参考:自签名证书的安全隐患)

2、https证书兼容性不够好

并非所有的CA机构签发的https证书都是全球通用支持所有浏览器的。如果该CA机构没有通过国际WebTrust认证,那么他签发的https证书很多浏览器都不信任,比如IE浏览器等。网站在申请购买https证书时一定要选择通过国际WebTrust认证的CA机构。目前国产CA中,沃通CA获得国际国内双认证,签发的https证书全球可信,支持所有浏览器。

3、https证书没有正确部署

如果网站的https证书没有正确的部署,在访问的时候也会有一些风险提示,比如https页面中存在http资源的调用,部分版本的浏览器就会提示该页面存在不安全因素。这时只需要将这些http调用资源改为https调用即可解决。(延伸:网站存在不安全因素的解决办法)

4、浏览器指定不信任的https证书

有的证书颁发机构由于某些原因,已经被浏览器列入"黑名单" ,公开宣布将不再信任其签发的https证书。所以当你访问到部署了这些证书的网站时,部分浏览器比如谷歌、火狐会提示"https证书不受信任"。

【如何解决https证书不受信任问题】

1、使用全球可信https证书

网站购买和使用全球可信、支持所有浏览器的https证书会极大的改善这种情况,比如沃通CA签发的https证书,全球可信,国内国外通用,支持所有的浏览器。网站使用沃通SSL证书,基本不会出现浏览器提示"https证书不受信任"问题。

2、正确部署https证书

按照证书颁发机构的《https证书部署指南》正确的部署证书可以极大的避免各种问题的发生,比如确保网站元素(插件、CSS文件、图片等内容)都采用https调用可以避免浏览器提示"此页面存在不安全因素"的风险提示。(参考:怎样更安全的部署SSL证书)

SSL证书不被信任可能由以下几个原因导致:

  1. 证书颁发机构不被信任:如果SSL证书不是由浏览器信任的证书颁发机构(CA)颁发的,浏览器会显示证书不被信任的警告。浏览器内置了一组受信任的根证书颁发机构列表,如果证书的颁发机构不在此列表中,浏览器将不信任该证书。
  2. 证书已过期:SSL证书都有一定的有效期,一旦过期,浏览器就会拒绝信任该证书,并显示证书过期的错误信息。
  3. 证书信息不准确:SSL证书中包含关键的网站信息,如域名、组织名称、组织地址等。如果这些信息与实际情况不符,浏览器就会提示证书不被信任。
  4. 证书链不完整:SSL证书链包括根证书、中间证书和服务器证书。如果服务器缺少必要的中间证书,浏览器将无法构建完整的信任链,导致证书不被信任。
  5. 域名不匹配:SSL证书通常与特定的域名或子域名关联。如果用户访问的网站域名与证书上的域名不匹配,浏览器会发出证书不被信任的警告。
  6. 安全连接存在漏洞:有时网站虽然使用了SSL证书,但仍然存在其他安全漏洞,例如弱密码、不安全的加密算法或配置错误等。这些漏洞可能导致浏览器判定网站不安全,进而提示证书不受信任。
  7. 证书被篡改:SSL证书还可能被黑客篡改。例如,黑客可以通过社会工程学攻击或者攻击证书颁发机构的服务器,获取到证书私钥并篡改证书信息。这种情况下,浏览器也会提示证书不被信任。

提供免费SSL证书的平台及其相关信息:

  1. Let's Encrypt

    • Let's Encrypt是一个免费、自动化且开放的证书颁发机构(CA),旨在通过提供免费的SSL/TLS证书来促进整个互联网的安全性。它由非营利组织互联网安全研究小组(ISRG)运营,提供的证书完全免费,有效期为90天,但可以自动更新。
  2. ZeroSSL

    • ZeroSSL提供简单易用的界面和工具,使得生成、安装和管理SSL证书变得非常方便。它提供了免费的基础SSL证书,适用于个人网站和小型项目,证书有效期为90天,可以通过自动化工具或手动方式进行更新。
  3. 阿里云

    • 阿里云提供免费的DV域名型SSL证书,由DigiCert颁发。每个阿里云账号一年可以申请20个免费SSL证书,证书有效期为3个月。申请流程包括在阿里云数字证书管理服务控制台一键申请,创建证书、输入域名等信息并进行域名验证。
  4. freeSSL.cn

    • freeSSL.cn是国内的自主品牌SSL证书提供商,提供包括单域名、通配符在内的免费证书。freeSSL.cn支持全程境内服务器验证签发,安全可信、完美兼容且更加稳定快速。注册freeSSL.cn官网账户时,填写特定的邀请码可以免费使用。
  5. freeSSL.org

    • freeSSL.org提供免费SSL证书,属于域名验证(DV) SSL证书,提供免费、最快、最简单且最具成本效益的方式,可在1分钟内收到SSL证书以实现行业标准的256位加密。证书有效期为90天。