与节点mysql和cleardb一起使用ssl

f45qwnt8  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(291)

我有一个免费的cleardb帐户,我是通过heroku(作为资源)获得的
它给了我
CA证书
客户端证书
客户端密钥
这些都在里面 .pem 格式

const fs = require('fs');
const ssl = {
    ca: fs.readFileSync('cleardb-ca.pem', "utf-8"),
    key: fs.readFileSync('cleardb-key.pem', "utf-8"),
    cert: fs.readFileSync('cleardb-cert.pem', "utf-8")
};

const cleardb = mysql.createConnection({
    host:"HOST",
    user: "USER",
    password: "PWD",
    database: "DB",
    ssl: ssl
});

cleardb.connect((err) => {
    if (err) throw err;
    console.log('connected!');
});

这个一直在扔 Error: 22928:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:c:\ws\deps\openssl\openssl\ssl\statem\statem_lib.c:1929: 然后错误stacktrace显示一个对象 library: 'SSL routines', function: 'ssl_choose_client_version', reason: 'unsupported protocol', code: 'HANDSHAKE_SSL_ERROR', fatal: true 这个 SSL routines:ssl_choose_client_version:unsupported 错误与我尝试通过 MySQL 客户端。
即。 mysql --host=HOST --ssl-capath=. --ssl-cert=cleardb-cert.pem --ssl-key=cleardb-key.pem --user=USER 我可以通过这两个连接 Node 如果我不使用ssl,则返回cli。
你知道这是怎么回事吗?
我真的应该那么担心使用ssl吗?我读到,如果运输安全选项存在,你应该选择使用它。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题