【问题标题】:Connecting to Oracle with SSL使用 SSL 连接到 Oracle
【发布时间】:2019-05-05 19:43:14
【问题描述】:

我正在尝试从电子 (nodeJs) 应用程序连接到 Oracle DB 12c。

我通过传递参数创建连接,使用 knex 库,如下所示:

knex({
            client: 'oracledb',
            connection: {
                host: hostItems + ':' + connection.Port,
                user: connection.UserName,
                password: connection.Password,
                database: connection.DatabaseName
            };
        });

knex 中的连接参数与内部使用的node-oracledb 相同。

它适用于非 SSL 连接,例如使用端口 1521,但不适用于标准 oracle SSL 端口的 2484。我有 CA 证书,但我不知道如何通过。

对于 SSL 端口,我得到了 12547: TNS Lost Contact,这听起来很正确,因为它无法建立 SSL 连接。

我想弄清楚how to use SSL with node-oracledb

【问题讨论】:

标签: node.js oracle ssl knex.js node-oracledb


【解决方案1】:

node-oracledb 官方文档包含描述how to properly configure SSL/TLS 的部分。

由于 NodeJS 应用程序将在此通信场景中充当客户端,因此它必须在握手期间提供证书(例如浏览器)。

【讨论】:

  • 我的应用程序是用于扫描客户数据库的第三方应用程序,我无法更改服务器。我不清楚文档。我可以在客户端做些什么来解决这个问题?
  • 根据场景描述,似乎数据库服务器已经支持 SSL/TLS,因此无需更改任何内容。客户端也应该支持 SSL/TLS。也许this thread 会有所帮助。
  • 你是对的,它的客户端有问题,我知道服务器启用了它。该线程用于 posgres,knex 将连接对象按原样传递给底层提供者,在本例中为 node-oracledb,我似乎找不到一个示例。
  • node-oracledb 文档显示“native network encryption”,但链接到Oracle Database Security Guide(请参阅“配置安全套接字层身份验证”一章)了解设置 SSL 的步骤。网络安全全部在 Oracle 的网络堆栈中处理,并不特定于 node-oracledb。
猜你喜欢
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
  • 2022-10-18
  • 1970-01-01
  • 2015-09-05
  • 2016-12-24
  • 2018-12-20
  • 1970-01-01
相关资源
最近更新 更多