【发布时间】:2021-12-31 00:27:01
【问题描述】:
我对Tomcat JDBC密码加密和解密有些顾虑。
据我所知,通常情况下,我们在 tomcat 上设置数据源,如下所示。
<Resource name="jdbc/MyDB"
factory="nl.wimvanhaaren.tomcat.secured.EncryptedDataSourceFactory"
secretKey="secretKeyId"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="databaseUser"
password="dd30b6e87a972be1999fda04f657eca0"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=MyDB"/>
或者我们在 DataSourceFactory jar 文件上设置 secretKey。
据我了解,在这些情况下,可以访问服务器的人可以通过以下方式提取实际密码:
- 使用 jar 文件和 tomcat 配置文件中的“secretkey”解密,或者
- 使用已在 jar 文件中包含“secretkey”的 jar 文件进行解密。
IBM WebSphere 在插入数据库密码时具有屏蔽功能,因此安全团队插入后没有人可以看到密码。 有没有办法在Tomcat上做到这一点?从现在开始(迁移),我需要在 Azure 上使用 tomcat 而不是本地 WebSphere,但在 google 上找不到与此相关的答案或内容。请帮忙~!
提前致谢。
【问题讨论】:
标签: tomcat encryption jdbc jndi