无法通过 Google Apps 脚本上的 SSL 连接到 MariaDB

问题描述

我在将 Google Apps 脚本连接到我的 MariaDB 实例时遇到了困难。

这是我在此示例中使用的 GAS: https://gist.github.com/HappymanOkajima/8740727662e9ba0e0ffd52006484c47f

MariaDB 实例来自原始 dockerhub 镜像:mariadb:10.4

我已成功将 MariaDB 配置为使用 SSL 运行(已通过 Metabase 验证,并显示 'havessl'='YES')

对于上下文,以下命令用于生成 ssl 密钥:

为 CA-cert 生成密钥 openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 > ./ca-key.pem

生成 CA 证书 openssl req -new -x509 -nodes -days 36500 -key ./ca-key.pem -out ./ca-cert.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=company"

创建 sql 服务器密钥 openssl req -newkey rsa:4096 -nodes -keyout ./server-key.pem -out ./server-req.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=sql.server.com"

创建 sql 服务器证书 openssl x509 -req -in ./kn-req.pem -days 36500 -CA ./ca-cert.pem -CAkey ./ca-key.pem -CAcreateserial -out ./server-cert.pem

将服务器密钥转换为 RSA(mariadb 只读取这个) openssl rsa -in ./server-key.pem -out ./server-key-rsa.pem

sql server 配置了 ca-cert.pem、server-cert.pem 和 server-key-rsa.pem

创建客户端密钥(用于 Supermetrics) openssl req -newkey rsa:4096 -nodes -keyout ./client-key.pem -out ./client-req.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=supermetrics"

创建客户端证书 openssl x509 -req -in ./client-req.pem -days 36500 -CA ./ca-cert.pem -CAkey ./ca-key.pem -CAcreateserial -out ./client-cert.pem

创建 RSA 版本,用于 Supermetrics openssl rsa -in ./client-key.pem -out ./client-key-rsa.pem

然后我使用 cat 打印这些文件ca-cert.pem,client-cert.pem,client-key.pem

并将字符串复制粘贴到 Google Apps 脚本中,在每行末尾附加 \n\

这是显示错误Exception: Failed to establish a database connection. Check connection string,username and password.

我也验证了如果我删除?useSSL=true,连接成功完成

在这里错过了什么?我已经搜索了每个谷歌开发论坛的帖子和关于这个的 stackoverflow 问题,他们似乎都说这是正确的解决方案。有人能复制这个来验证吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)