如何使用 TLS 加密 cx_oracle 连接?我必须使用 Oracle Wallets 吗?

How to make a cx_oracle connection encrypted with TLS? Do I have to use Oracle Wallets?

需要使用 cx_oracle 模块 python 3.x 版本来连接 Oracle 19c 和 TLS。有防火墙和代理。

如何实现? 我必须使用 Oracle Wallets 吗? TLS 1.2 是否足够好,或者我需要在 2022 年使用 TLS 1.3?

import cx_Oracle
conn = cx_Oracle.connect("uname/pwd@//localhost:1521/sd")
cur = conn.cursor()
cur.execute("SELECT 'Hello' FROM dual")
res = cur.fetchall()

如果这是一个云数据库,你就不再总是需要钱包了。借助最新的 Oracle 客户端库,您可以使用单向 TLS。参见 Easy wallet-less connections to Oracle Autonomous Databases in Python