我正在学习在MariaDB上启用双向TLS设置。为此,它需要一个带有X509 SSL选项的用户帐户。我阅读了理论,但仍然不清楚两者的区别。此外,何时应该使用哪个选项。请帮助完成此查询。
我做了一个测试,我发现与“要求SSL“选项只需要“CA”证书,而与X509,你需要一个客户端证书与CA证书。我仍然没有得到这背后的主要登录。
rt4zxlrg1#
对于使用REQUIRE SSL子句创建的帐户,如果无法建立加密连接,连接尝试将失败。对于没有特殊加密要求的帐户,如果无法建立加密连接,连接尝试将回退到未加密连接。对于使用REQUIRE X509子句创建的帐户,客户端必须至少指定--ssl-cert和--ssl-key。此外,建议使用--ssl-ca(或--ssl-capath),以便可以验证服务器提供的公共证书。例如:
REQUIRE SSL
REQUIRE X509
--ssl-cert
--ssl-key
--ssl-ca
--ssl-capath
mysql --ssl-ca=ca.pem \ --ssl-cert=client-cert.pem \ --ssl-key=client-key.pem
对于使用REQUIRE ISSUER或REQUIRE SUBJECT子句创建的帐户,加密要求与REQUIRE X509的加密要求相同,但证书必须分别与帐户定义中指定的发行或主题匹配。有关REQUIRE子句的其他信息,请参见:https://dev.mysql.com/doc/refman/8.0/en/create-user.html
REQUIRE ISSUER
REQUIRE SUBJECT
6pp0gazn2#
如果用户帐户设置了“需要SSL”,则该用户只能通过安全传输(没有未加密的端口,如果这些端口可用)进行连接,但仍然可以使用用户名+密码进行身份验证。如果用户帐户设置了“Requre X590”,则该用户只能通过安全传输进行连接,但需要客户端证书进行身份验证。
cu6pst1q3#
如MySql doc所述:对于使用REQUIRE SSL子句创建的帐户,如果无法建立加密连接,连接尝试将失败。对于没有特殊加密要求的帐户,如果无法建立加密连接,连接尝试将回退到未加密连接。和对于使用REQUIRE X509子句创建的帐户,客户端必须至少指定--ssl-cert和--ssl-key。此外,建议使用--ssl-ca(或--ssl-capath),以便可以验证服务器提供的公共证书。并且如所提到的Igor Cicimov:REQUIRED X509表示客户端必须具有有效的证书,但证书的确切名称、颁发者和主题并不重要。唯一的要求是它应该能够使用CA证书之一验证其签名。如果您使用REQUIRE SSL,则客户端不需要提供任何内容。如果您使用REQUIRE X509,则客户端必须提供自己的(?)证书和密钥,以及用户和连接密码。这两种类型都强制加密通信,但x509模式更为严格。
REQUIRED X509
3条答案
按热度按时间rt4zxlrg1#
对于使用
REQUIRE SSL
子句创建的帐户,如果无法建立加密连接,连接尝试将失败。对于没有特殊加密要求的帐户,如果无法建立加密连接,连接尝试将回退到未加密连接。对于使用
REQUIRE X509
子句创建的帐户,客户端必须至少指定--ssl-cert
和--ssl-key
。此外,建议使用--ssl-ca
(或--ssl-capath
),以便可以验证服务器提供的公共证书。例如:对于使用
REQUIRE ISSUER
或REQUIRE SUBJECT
子句创建的帐户,加密要求与REQUIRE X509
的加密要求相同,但证书必须分别与帐户定义中指定的发行或主题匹配。有关REQUIRE子句的其他信息,请参见:https://dev.mysql.com/doc/refman/8.0/en/create-user.html
6pp0gazn2#
如果用户帐户设置了“需要SSL”,则该用户只能通过安全传输(没有未加密的端口,如果这些端口可用)进行连接,但仍然可以使用用户名+密码进行身份验证。
如果用户帐户设置了“Requre X590”,则该用户只能通过安全传输进行连接,但需要客户端证书进行身份验证。
cu6pst1q3#
如MySql doc所述:
对于使用REQUIRE SSL子句创建的帐户,如果无法建立加密连接,连接尝试将失败。对于没有特殊加密要求的帐户,如果无法建立加密连接,连接尝试将回退到未加密连接。
和
对于使用REQUIRE X509子句创建的帐户,客户端必须至少指定--ssl-cert和--ssl-key。此外,建议使用--ssl-ca(或--ssl-capath),以便可以验证服务器提供的公共证书。
并且如所提到的Igor Cicimov:
REQUIRED X509
表示客户端必须具有有效的证书,但证书的确切名称、颁发者和主题并不重要。唯一的要求是它应该能够使用CA证书之一验证其签名。如果您使用
REQUIRE SSL
,则客户端不需要提供任何内容。如果您使用
REQUIRE X509
,则客户端必须提供自己的(?)证书和密钥,以及用户和连接密码。这两种类型都强制加密通信,但x509模式更为严格。