0

我有一个go与 Oracle 数据库通信的服务。现在,我需要使用 Oracle NNE(本机网络加密)加密该流量。为此,我需要将sql.net.encryption_client客户端上的参数设置为required,因为我们的 Oracle 服务器不强制加密(出于遗留原因)。

我们正在使用goracle驱动程序,我看不到任何设置该参数的方法。有任何想法吗?

4

2 回答 2

1

[每个驱动程序开发人员],目前无法以编程方式设置该参数;但是有一个解决方法(我刚刚测试并确认工作) - 用一行创建 sqlnet.ora 文件sql.net.encryption_client=required并添加一个环境变量TNS_ADMIN=<folder path to sqlnet.ora file>

这将使驱动程序要求客户端上的本机网络加密。

于 2019-02-19T16:10:59.913 回答
0

Oracle 网络加密选项和其他网络选项由 Oracle Net 配置控制,而不是由脚本语言驱动程序控制。

  • 对于 Oracle Instant Client 的用户,一种解决方案是将您的 sqlnet.ora(包含SQLNET.ENCRYPTION_CLIENT = required指令和相关选项)放在一个network/admin子目录中,如 Instant Client 安装说明(此处为 Linux 此处为 Windows )中所述。此目录是在 Linux 上使用 Instant Client 18.3 及更高版本预先创建的。

  • 或者将环境变量设置TNS_ADMIN为一个目录,并将您的sqlnet.ora文件放在该目录中。

于 2019-02-19T23:42:04.477 回答