trustCertificateKeyStoreUrl 与 clientCertificateKeyStoreUrl
trustCertificateKeyStoreUrl vs clientCertificateKeyStoreUrl
trustCertificateKeyStoreUrl
和MySQL Connector/J
中的clientCertificateKeyStoreUrl
有什么区别?我应该什么时候提供其中之一?
我有一个使用 SLL
与 AWS RDS
连接的客户端应用程序,我应该使用其中的哪一个?
trustCertificateKeyStoreUrl 用于服务器身份验证,clientCertificateKeyStoreUrl 用于客户端身份验证。在 SSL 协商期间,服务器出示其证书,其中包含服务器的 public 密钥和由第三方证书颁发机构 (CA) 数字签名的校验和。还有另一个连接 属性 verifyServerCertificate 用于配置客户端是否应该验证服务器证书。如果您想在 SSL 协商期间为您的应用程序验证服务器证书,那么您应该将 verifyServerCertificate 设置为 true 并提供一个信任库路径,其中包含客户端对 trustCertificateKeyStoreUrl[ 的所有受信任的 CA。 =23=]。如果服务器提供的证书由客户端的可信 CA 进行数字签名,则验证将成功,否则将失败。
clientCertificateKeyStoreUrl 用于客户端身份验证。如果在服务器端启用了客户端身份验证(您可以参考https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-user-tls文章了解如何启用客户端身份验证)那么在SSL协商期间,服务器将请求客户端的证书。如果客户端证书由服务器信任的 CA 进行数字签名,则身份验证将成功。
简而言之,当客户端要对服务器证书进行身份验证时,应提供 trustCertificateKeyStoreUrl;当服务器上启用了客户端身份验证且服务器要验证证书是否由受信任的 CA 签名时,应提供 clientCertificateKeyStoreUrl。
trustCertificateKeyStoreUrl
和MySQL Connector/J
中的clientCertificateKeyStoreUrl
有什么区别?我应该什么时候提供其中之一?
我有一个使用 SLL
与 AWS RDS
连接的客户端应用程序,我应该使用其中的哪一个?
trustCertificateKeyStoreUrl 用于服务器身份验证,clientCertificateKeyStoreUrl 用于客户端身份验证。在 SSL 协商期间,服务器出示其证书,其中包含服务器的 public 密钥和由第三方证书颁发机构 (CA) 数字签名的校验和。还有另一个连接 属性 verifyServerCertificate 用于配置客户端是否应该验证服务器证书。如果您想在 SSL 协商期间为您的应用程序验证服务器证书,那么您应该将 verifyServerCertificate 设置为 true 并提供一个信任库路径,其中包含客户端对 trustCertificateKeyStoreUrl[ 的所有受信任的 CA。 =23=]。如果服务器提供的证书由客户端的可信 CA 进行数字签名,则验证将成功,否则将失败。
clientCertificateKeyStoreUrl 用于客户端身份验证。如果在服务器端启用了客户端身份验证(您可以参考https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-user-tls文章了解如何启用客户端身份验证)那么在SSL协商期间,服务器将请求客户端的证书。如果客户端证书由服务器信任的 CA 进行数字签名,则身份验证将成功。
简而言之,当客户端要对服务器证书进行身份验证时,应提供 trustCertificateKeyStoreUrl;当服务器上启用了客户端身份验证且服务器要验证证书是否由受信任的 CA 签名时,应提供 clientCertificateKeyStoreUrl。