我的场景:
我正在尝试开发一种可以查询不同数据库的服务。
要清除上述声明:
我在最广泛的意义上使用了服务这个词:一个为数据库所有者提供一些价值的软件组件。
这些数据库绝不会在我的控制之下,因为它们将属于不同的公司。他们不会事先知道,并且要支持多个供应商:Oracle、MS (SQL Server)、MySql、PostgreSQL。此外,还将支持 OLE DB 和 ODBC 连接。
问题:数据库凭据和整体流量的安全性是一个大问题,但配置工作应至少减少。理想情况下,所有安全问题都应该在服务实现中以编程方式解决,并且除了提供有效的连接字符串外,不需要数据库所有者进行任何配置工作。
通常,数据库 SSL 支持是通过服务器证书完成的,我想避免这样做,因为这对客户端(数据库所有者)来说很麻烦。我一直在研究如何做到这一点无济于事。希望这可以通过 openssl、SSPI、客户端 SSL 证书或任何形式的隧道来完成;或者可能是不可能的。一些建议将不胜感激。