两者有什么区别 trustCertificateKeyStoreUrl 以及 clientCertificateKeyStoreUrl 在 MySQL Connector/J ? 我应该什么时候提供一个或另一个?我有一个客户端应用程序 AWS RDS 使用 SLL ,我应该使用哪一种?
trustCertificateKeyStoreUrl
clientCertificateKeyStoreUrl
MySQL Connector/J
AWS RDS
SLL
a6b3iqyw1#
trustcertificatekeystoreurl用于服务器身份验证,clientcertificatekeystoreurl用于客户端身份验证。在ssl协商过程中,服务器呈现其证书,其中包含服务器的公钥和一个由第三方证书颁发机构(ca)数字签名的校验和。另一个连接属性verifyservercertificate用于配置客户端是否应该验证服务器证书。如果要在ssl协商期间验证应用程序的服务器证书,则应将verifyservercertificate设置为true,并提供包含所有受信任CA的信任存储路径(按客户端)到trustcertificatekeystoreurl。如果服务器提供的证书由客户端的可信ca数字签名,则验证将成功,否则将失败。clientcertificatekeystoreurl用于客户端身份验证。如果在服务器端启用了客户端身份验证(您可以参考https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-用户tls文章了解如何启用客户端身份验证),然后在ssl协商期间,服务器将请求客户端的证书。如果客户端证书由服务器信任的ca数字签名,则身份验证将成功。简而言之,当客户端想要验证服务器证书时,应该提供trustcertificatekeystoreurl;当客户端在服务器上启用了身份验证并且服务器想要验证证书是否由受信任的CA签名时,应该提供clientcertificatekeystoreurl。
1条答案
按热度按时间a6b3iqyw1#
trustcertificatekeystoreurl用于服务器身份验证,clientcertificatekeystoreurl用于客户端身份验证。在ssl协商过程中,服务器呈现其证书,其中包含服务器的公钥和一个由第三方证书颁发机构(ca)数字签名的校验和。另一个连接属性verifyservercertificate用于配置客户端是否应该验证服务器证书。如果要在ssl协商期间验证应用程序的服务器证书,则应将verifyservercertificate设置为true,并提供包含所有受信任CA的信任存储路径(按客户端)到trustcertificatekeystoreurl。如果服务器提供的证书由客户端的可信ca数字签名,则验证将成功,否则将失败。
clientcertificatekeystoreurl用于客户端身份验证。如果在服务器端启用了客户端身份验证(您可以参考https://dev.mysql.com/doc/refman/8.0/en/create-user.html#create-用户tls文章了解如何启用客户端身份验证),然后在ssl协商期间,服务器将请求客户端的证书。如果客户端证书由服务器信任的ca数字签名,则身份验证将成功。
简而言之,当客户端想要验证服务器证书时,应该提供trustcertificatekeystoreurl;当客户端在服务器上启用了身份验证并且服务器想要验证证书是否由受信任的CA签名时,应该提供clientcertificatekeystoreurl。