证书如何使服务器实现 HTTPS?

证书如何使服务器实现 HTTPS?

我已经阅读了很多,但我仍然对服务器证书概念感到很困惑。

在哪个阶段将 GlassFish 服务器从 HTTP 转换为 HTTPS 以及如何转换?

我知道如何使用 keytool 创建证书,但创建之后会发生什么?我读过一些有关将证书与 JAR 文件关联的内容?什么?证书肯定应该属于服务器吧?

我正在使用 glassfish 和 netbeans。

如果可以的话,感谢您消除我的困惑!

答案1

这里发生了两件不同的事情。

  • 获取/创建 SSL 密钥对和证书

为了将 SSL 用于任何事情(SMTP、HTTP、IMAP 等),您需要一个公钥和私钥。

私钥存储在服务器上,公钥向全世界开放,以允许以私钥可以解码的形式加密数据。

公钥的分发是通过在 SSL 协商1期间发送它来完成的- 这是一种不安全的方法,容易受到 MITM 攻击。

SSL 证书是由受信任的第三方对 SSL 公钥进行签名的 - 第三方负责验证公钥的身份。

自签名证书通常用于测试,但仍然容易受到 MITM 攻击。使用它就像只向银行出示一封由您撰写并签名的信件来验证您的身份。

  • 配置服务以使用 SSL 密钥对和证书

这是你告诉你的服务实际上使用该密钥对和证书。超出了本答案的范围,但希望您现在了解 SSL :)


1:尽管现在可以做一些很酷的事情,因为 DNSSEC 正在实施 - 我们可以将 HTTPS 证书放入 TXT 记录或类似记录中。

相关内容