为什么MySQL复制使用五个证书?

时间:2009-03-07 22:37:49

标签: mysql security ssl

我正在尝试使用SSL加密设置MySQL复制,当我开始关注解决方案时,这个过程的一个方面是我无法将我的大脑与MySQL使用的方式联系起来SSL

根据MySQL 5.0(setting up SSL for client/serversetting up SSL for replication)的文档,SSL连接最多可包含五条信息:CA证书,主服务器签名的公钥和私钥,以及奴隶的签名公钥和私钥。我不明白的是需要这五个组件。我对SSL的理解(从the Wikipedia entry收集)是SSL通常只需要三个部分:CA证书(由服务器和客户端共享),服务器的公钥(发送到客户端,根据CA证书进行验证,以及用于加密/解密与服务器的通信),以及服务器的私钥(由服务器保存并用于加密/解密与客户端的通信)。

那么为什么在MySQL复制SSL解决方案中,奴隶还有一个公钥/私钥对与主公钥/私钥对相同的CA证书签名?

3 个答案:

答案 0 :(得分:5)

实际上,这只是三个证书。但是,每个SSL证书都包含两个密钥 - 公钥和私钥。

服务器和客户端都可以使用CA的私钥签署了另一方公钥的事实,相互证明他们是他们所说的人。

CA本身也有公钥和私钥,但是如果您从第三方获得SSL证书,则永远不会看到他们的私钥。

答案 1 :(得分:3)

这是为了相互认证。从属设备需要向主设备证明其身份,主设备需要向从设备证明其身份。

编辑:证书仅包含公钥。 (私钥存储在计算机的加密服务提供程序(CSP)中。)因此,它有5个密钥和3个证书。

答案 2 :(得分:2)

复制链接的双方都必须认为另一端值得信赖。