我正在尝试使用SSL加密设置MySQL复制,当我开始关注解决方案时,这个过程的一个方面是我无法解决与MySQL使用SSL的方式有关的问题.
根据关于MySQL 5.0的文档(设置SSL客户端/服务器和设置SSL进行复制),SSL连接可能涉及的信息多达五件:CA证书,大师的签名公共密钥和私有密钥,并从服务器的签名的公钥和私钥.我不明白的是需要这五个组件.我对SSL的理解(从维基百科条目中收集)是SSL通常只需要三个部分:CA证书(由服务器和客户端共享),服务器的公钥(发送到客户端,根据CA证书进行验证,以及用于加密/解密与服务器的通信),以及服务器的私钥(由服务器保存,用于加密/解密与客户端的通信).
那么为什么在MySQL复制SSL解决方案中奴隶还有一个公钥/私钥对与主公钥/私钥对相同的CA证书签名?
实际上这只有三个证书.但是,每个SSL证书包含两个密钥 - 公钥和私钥.
服务器和客户端都可以使用另一方的公钥已经由CA的私钥签名的事实来向对方证明他们是他们所说的人.
CA本身也有公钥和私钥,但在您从第三方获得SSL证书的情况下,您永远不会看到他们的私钥.