如何使用证书包设置SSL证书?

我试图build立从MySQL数据库命令行客户端到AWS上的MySQL数据库实例的encryption连接。

AWS提供了一个证书包,它似乎拥有所有服务器的所有证书。

MySQL文档创buildSSL证书和密钥使用OpenSSL说我需要这样做:

(1)创buildCA证书

openssl genrsa 2048 > ca-key.pem openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem 

(2)创build服务器证书,删除密码并签名。

server-cert.pem =公钥

server-key.pem =私钥

 openssl req -newkey rsa:2048 -days 3600 \ -nodes -keyout server-key.pem -out server-req.pem openssl rsa -in server-key.pem -out server-key.pem openssl x509 -req -in server-req.pem -days 3600 \ -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem 

(3)创build客户端证书,删除密码并签名。

client-cert.pem =公钥

client-key.pem =私钥

 openssl req -newkey rsa:2048 -days 3600 \ -nodes -keyout client-key.pem -out client-req.pem openssl rsa -in client-key.pem -out client-key.pem openssl x509 -req -in client-req.pem -days 3600 -CA ca.pem \ -CAkey ca-key.pem -set_serial 01 -out client-cert.pem openssl verify -CAfile ca.pem server-cert.pem client-cert.pem 

我已经有ca.pem (rds-combined-ca-bundle.pem)。

所以我必须跳过步骤(1)和(2)。

AWS捆绑包中有服务器公钥ca-key.pem吗?

如果是这样,我如何使用它来完成步骤(3)?

AWS文档 – “对MySQL数据库实例的SSL支持”特别稀疏,只是说:

 mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com -u my-user -p --ssl-ca=rds-combined-ca-bundle.pem --ssl-verify-server-cert 

这应该提示我input密码,但只是挂起。

UPDATE

我已经build立了连接并为MySQL Workbench和Java JDBC连接池工作,并且telnet完整性testing显示MySQL服务器是可访问的。

您不需要自己生成任何SSL证书,只需在mysql参数中使用提供的rds-combined-ca-bundle.pem

毕竟,这与证书无关。 一些绝望的search产生了答案: 从Cygwin连接到MySQL

Cygwin和Windows MySQL客户端不能一起玩。