我有一个使用 JSP 和 Servlet 开发的 Java Web 应用程序,我通过 webapp-runner.jar 运行该应用程序以启动 WAR 文件。 webapp-runner.jar 提供了一个使用
--enable-ssl
参数启用 SSL 的选项,需要 -Djavax.net.ssl.keyStore
和 -Djavax.net.ssl.keyStorePassword
参数。
但是,我想传递
javax.net.ssl.keyStorePassword
的加密值而不是纯文本密码。看来webapp-runner.jar
不直接支持加密密码。
有什么办法可以实现这一点吗?任何安全处理 SSL 配置密码的建议或解决方法将不胜感激。
我会首先尝试使用环境变量。例如,设置一个环境变量
ENCRYPTED_KEYSTORE_PASSWORD
,在运行时解密它,然后设置 System.setProperty
("javax.net.ssl.keyStorePassword"
, decryptedPassword
);在启动 SSL 配置之前。
如果这不起作用,您还可以尝试创建一个小型 Java 类来读取加密密码,对其进行解密,然后将其设置为系统属性。这可以集成到您的
webapp-runner.jar
的初始化中。