为Go oracle驱动程序(ora,goracle)启用NNE

时间:2019-02-19 16:03:45

标签: oracle go nne goracle

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

  • 或者将环境变量TNS_ADMIN设置为目录,然后将sqlnet.ora文件放在该目录中。