tonglin0325的个人主页

如何申请HTTPS证书

HTTP和HTTPS区别#

超文本传输协议(HTTP)是用于客户端-服务器通信的协议或一组通信规则。当您访问网站时,您的浏览器会向 Web 服务器发送 HTTP 请求,该服务器将以 HTTP 响应进行响应。Web 服务器将以纯文本形式与您的浏览器交换数据。简而言之,HTTP 协议是为网络通信提供支持的底层技术。

安全超文本传输协议(HTTPS)是 HTTP 的一种更安全的版本或扩展。在 HTTPS 中,浏览器与服务器会在传输数据之前建立安全的加密连接。

HTTPS 协议的工作原理#

HTTP 传输未加密的数据,这意味着从浏览器发送的信息可能会被第三方拦截和读取。这一过程并不理想,因此将其扩展成为 HTTPS,以便为通信再增加一层安全性。HTTPS 将 HTTP 请求和响应与 SSL 和 TLS 技术相结合。

SSL 和 TLS 参考:SSL 与 TLS 之间有何区别?

HTTPS 网站必须从独立证书颁发机构(CA)获取 SSL/TLS 证书。这些网站会在交换数据之前先与浏览器共享该证书,以建立信任。SSL 证书还包含加密信息,以便服务器和 Web 浏览器可以交换加密或刻意打乱的数据。

该过程的工作原理是:

  1. 您通过在浏览器的地址栏中键入 https://URL 格式来访问 HTTPS 网站。
  2. 浏览器尝试通过请求服务器的 SSL 证书来验证该站点的真实性。
  3. 该服务器发送包含公钥的 SSL/TLS 证书作为回复(非对称加密)。
  4. 该网站的 SSL 证书将证明该服务器身份。浏览器确认一切妥当后,它将使用该公钥加密并发送包含secret session key的消息。
  5. Web 服务器使用其私钥解密消息并检索session key。然后,它将加密该session key,并向浏览器发送确认消息。
  6. 现在,浏览器和 Web 服务器都切换到使用相同的session key来安全地交换消息(对称加密)。

参考:HTTP 与 HTTPS 之间有什么区别?

公钥私钥,加密解密,签名验签#

既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密

同理,既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证

参考:RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?

HTTPS 加密、证书、签名与握手

HTTPS既使用了对称加密,也使用了非对称加密#

在HTTPS协议中,对称加密和非对称加密都发挥了重要的作用。具体来说,HTTPS在内容传输上使用的是对称加密。这意味着在通信过程中,发送方和接收方会生成一个临时的密钥,并使用该密钥对数据进行加密和解密。由于对称加密的加解密速度快,因此可以有效地保障大量数据的传输安全。

然而,仅仅使用对称加密是不够的。为了确保通信双方的身份验证以及防止中间人攻击,HTTPS还需要用到非对称加密。在证书验证阶段,HTTPS使用非对称加密来验证服务器的身份。服务器会向客户端发送自己的证书,其中包括了公钥等信息。客户端会使用证书中的公钥来验证服务器的身份,并确保数据传输过程中的安全性。

1.对称加密算法:对称加密算法使用相同的密钥来加密和解密数据。在HTTPS通信中,客户端和服务器会协商一个对称密钥,通常是使用服务器的公钥加密生成的。这个对称密钥会用于加密和解密数据传输过程中的内容,因为对称加密效率高,适合用于加密大量数据的传输。

2.非对称加密算法:非对称加密算法包括公钥和私钥。服务器会拥有自己的私钥,而与之对应的公钥会被安全地存储在数字证书中。在建立连接时,服务器会把自己的公钥发给客户端。客户端使用服务器的公钥对协商的对称密钥进行加密,然后传输给服务器,服务器再使用自己的私钥解密该对称密钥。

参考:HTTPS:对称加密与非对称加密的完美结合

免费的SSL证书申请#

云厂商一般都提供这种服务,比如AWS Certificate Manager(ACM),