具有自签名证书的MySQL over SSL

具有自签名证书的MySQL over SSL,ssl,cryptography,certificate,mysql,Ssl,Cryptography,Certificate,Mysql,我正在设置一个mysql服务器,并试图让一个mysql客户端通过SSL连接到它。我将使用一个自签名证书来进行同样的操作。阅读有关设置SSL的MySQL文档,我发现我必须指定以下文件的路径:- the SSL root CA the SSL certificate the SSL private key 在这种特殊情况下,是否应将根CA和证书都设置为我的自签名证书?如何正确创建自签名SSL证书的示例 Su到root并创建一个只有root帐户才能访问的目录。 su - mkdir certifi

我正在设置一个mysql服务器,并试图让一个mysql客户端通过SSL连接到它。我将使用一个自签名证书来进行同样的操作。阅读有关设置SSL的MySQL文档,我发现我必须指定以下文件的路径:-

the SSL root CA
the SSL certificate
the SSL private key
在这种特殊情况下,是否应将根CA和证书都设置为我的自签名证书?

如何正确创建自签名SSL证书的示例

Su到root并创建一个只有root帐户才能访问的目录。

su -

mkdir certificates

chmod 700 certificates

cd certificates
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
使用openssl生成服务器密钥

openssl genrsa -des3 -out server.key 4096
Openssl将请求密码短语。输入一个长而复杂但你能记住的句子(你必须至少输入两次)。尽量使它至少有40个字符长,带有标点符号和大小写字母。使用的不同字符越多越好。 然后使用在步骤2中创建的服务器密钥创建证书签名请求。

su -

mkdir certificates

chmod 700 certificates

cd certificates
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
使用SSL对证书进行签名。

su -

mkdir certificates

chmod 700 certificates

cd certificates
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
您可以将您的证书设置为任意天数,但我建议您使用365,以便您记得每年更新一次。

su -

mkdir certificates

chmod 700 certificates

cd certificates
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
完成后,您将拥有以下文件:

server.crt: The self-signed server certificate
server.csr: Server certificate signing request
server.key: The private server key, does not require a password when starting Apache

将这些文件放在Web服务器所需的位置,然后打开HTTPS。(如果您不知道如何操作,请与您的服务器管理员联系。)

我认为这极有可能,是的。也许您可以只指定两个证书文件中的一个,但我认为您通常可以同时指定这两个文件(客户机当然需要信任此自签名证书)。请注意,此类问题在这里比较离题,最好在serverfault中问它们……此问题是关于MySQL而不是Apache HTTPD的。