ssl - puppet https 通信如何工作?

标签 ssl https puppet

我正在尝试了解 Puppet Master 和 Puppet 节点之间的 HTTPS 通信。我知道将创建一个通用的 ca.pem、server.pem、服务器的私钥和公钥。同样的内容将在节点端创建,在主节点中我们必须信任节点的证书才能建立安全连接。

但是在此之后,在通信时将使用哪些 key ?

enter image description here

来源:How does SSL really work?

如果有人能通过比较上图来解释,那就太好了。 提前致谢。

最佳答案

您提供的图表描述了只有一方通过 SSL 证书向另一方标识自己的情况。这在网络上很常见,但对于 Puppet 来说还不够。

使用 Puppet 代理/主机设置,不仅主机必须向代理证明其身份,而且代理还必须向主机证明他们的身份。这是有时称为“相互认证”的安排的一个例子。每一方都通过向另一方出示另一方准备信任的 SSL 证书来做到这一点,因为该证书是由受信任的机构签署的。这个额外的交换看起来像你的图表的步骤 2 和 3,但运行方向相反。

在 Puppet 中最常见的情况是,master 和 agents 都依赖并信任由 master 运行的私有(private) CA,但它们也可能依赖外部 CA。无论它们位于何处以及由谁操作它们,CA 都由它们自己的证书标识。这些涉及确定其他证书是否可信,但不涉及对通信双方交换的数据进行加密。您的图表不包括获取证书,它总结了给定证书是否可信的所有方面,如“3. 浏览器验证”。

在确定代理和主控彼此了解并信任对方后,通过连接保护数据传输的方式在相互身份验证系统中与在服务器身份验证系统中的方式相同。双向传递的数据(图中未显示)使用协商的对称密码和 key 进行加密。

关于ssl - puppet https 通信如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36265535/

相关文章:

azure kubernetes 服务 - 私有(private)注册表上的自签名证书

oracle - 如何使用 SSL 和 JDBC 设置 Oracle

python-requests 2.0.0 - [Errno 8] _ssl.c :504: EOF occurred in violation of protocol

mobile - 如何在服务器和移动应用程序之间设计一个安全和轻量级的协议(protocol)?

相同类型的 Puppet 服务器

ruby - Rspec puppet 模块测试: access to included classes' custom facts

mongodb - 带有自签名证书的 Mongo URI

Java 堆空间 - 内存不足错误 - 带有 SASL_SSL 的 Kafka Broker

apache - 为 XAMPP Apache 安装 SSL 证书

puppet - 如何迭代 puppet ?或者如何避免?