如何获取 Amazon MySQL RDS 证书

Posted

技术标签:

【中文标题】如何获取 Amazon MySQL RDS 证书【英文标题】:How to get hold of Amazon MySQL RDS certificates 【发布时间】:2011-09-21 18:10:51 【问题描述】:

Amazon RDS 文档 (http://aws.amazon.com/rds/faqs/#53) 指定“Amazon RDS 为每个 [mysql] 数据库实例生成一个 SSL 证书”。我无法找到有关如何查找证书的任何文档,并且在管理控制台中找不到证书。

证书在哪里?

【问题讨论】:

【参考方案1】:

我在这里找到了解决方案:https://forums.aws.amazon.com/thread.jspa?threadID=62110。

从这里下载 ca cert 文件:https://s3.amazonaws.com/rds-downloads/mysql-ssl-ca-cert.pem

curl -O https://s3.amazonaws.com/rds-downloads/mysql-ssl-ca-cert.pem

连接mysql:
mysql -uusername -p --host=host --ssl-ca=mysql-ssl-ca-cert.pem
检查您的连接是否真正加密:
mysql> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+------------+ |变量名 |价值 | +---------------+------------+ | ssl_cipher | AES256-SHA | +---------------+------------+ 一组中的 1 行(0.00 秒) 可选择强制特定用户使用 SSL 连接到 MySQL

mysql> ALTER USER 'username'@'host|%' REQUIRE SSL

【讨论】:

对于那些可能遇到同样问题的人,只要我有一个 ~(例如 ~/Downloads/mysql-ssl-ca-cert.pem),我的 .pem 文件的路径就会失败。不得不做--ssl_ca=/Users/myusername/Downloads/mysql-ssl-ca-cert.pem。 〜错误是:错误2026(HY000):SSL连接错误:ASN:其他签名确认错误 亚马逊的证书已于 2015 年 4 月 4 日到期,我看不到任何更新。如果有人有新的网址,请分享。 是的,我刚刚从这个地址更新了证书:docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…【参考方案2】:

您可以从 AWS 文档指南本身获取 AWS RDS 证书文件信息

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html

从这里下载证书

https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem

更新 - 亚马逊更新了 SSL 证书,您可以从这里下载它:https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

使用以下命令登录mysql

root@sathish:/usr/src# mysql -h awssathish.xxyyzz.eu-west-1.rds.amazonaws.com -u awssathish -p --ssl-ca=mysql-ssl-ca-cert.pem
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 5.6.13-log MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
mysql> GRANT USAGE ON *.* TO ‘awssathish’@’%’ REQUIRE SSL
Query OK, 0 rows affected (0.02 sec)
mysql> 
mysql> show variables like "%ssl";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl  | YES   |
| have_ssl      | YES   |
+---------------+-------+
2 rows in set (0.00 sec)
mysql> 
mysql> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| Ssl_cipher    | AES256-SHA |
+---------------+------------+
1 row in set (0.01 sec)

mysql> exit
Bye

在哪里

awssathish.xxyyzz.eu-west-1.rds.amazonaws.com

是RDS的端点,

无所适从

是rds服务器的用户名

【讨论】:

证书已于2015年4月4日到期。如果有新的证书网址,请分享。 添加了新的 SSL 证书链接。【参考方案3】:

我用http://aws-blog.io/2016/rds-over-ssl/ 您必须获取该区域的根 pem 和 pem 并将 2 个文件合并为一个。 https://s3.amazonaws.com/rds-downloads/rds-ca-2015-us-west-2.pem https://s3.amazonaws.com/rds-downloads/rds-ca-2015-root.pem

并合并文件以拥有单个 rds-ca-2015-us-west-2-bundle.pem 文件。 使用 --ssl-ca 提供 pem 文件的完整路径。

【讨论】:

以上是关于如何获取 Amazon MySQL RDS 证书的主要内容,如果未能解决你的问题,请参考以下文章

在 2019 年 10 月 31 日之前更新您的 Amazon RDS SSL/TLS 证书

如何将数据从 Postgres 移动到在 Amazon 的 RDS 上运行的 MySQL?

使用客户端应用程序更新非 ssl 中的 Amazon RDS SSL/TLS 证书

如何将 MySQL Workbench 连接到 Amazon RDS?

如何释放 MySQL Amazon RDS 实例中的空间

如何通过 SSL 上的 PHP 连接到 Amazon MySQL RDS 实例