我们必须为通过 springboot 应用程序创建的 rest web 服务使用 ssl 证书。
现在,我了解到使用证书需要密码。因此,我们正在使用 openssl 将可用的 .pem(无密码)更改为 .p12(有密码)。现在我们必须向 spring 提供这个密码。
问题是引入任何新密码所带来的开销。
由于设计不当,我们无法在 application.properties 中硬编码此密码。所以我们正在考虑找出其他在应用程序中使用密码的方法。到目前为止,我可以想到以下选项。哪个更好,为什么?
与其在 application.properties 中设置密码,不如从 java 代码中设置。 (不确定会设置成环境变量还是系统变量)
使用环境变量存储密码。
使用任何存储密码的文本文件(由于设计不佳,不再首选)
最佳答案
您可以通过以下方式实现您的场景。
我正在发布示例。\
在属性文件中:
spring.datasource.url=${db.url}
spring.datasource.username=${db.username}
在启动项目时,
你可以给出以下命令:
java -jar -Ddb.url=jdbc:postgresql://localhost:5432/postgres -Ddb.username=postgres sample.0.0.1-SNAPSHOT.jar(your jar name)
关于java - 如何将密码传递给java(Spring boot)应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58449802/