【问题标题】:Is it safe to keep java ssl keyStorePassword/trustStorePassword in sh script?在 sh 脚本中保留 java ssl keyStorePassword/trustStorePassword 是否安全?
【发布时间】:2021-02-26 03:45:52
【问题描述】:

我的 java 应用程序使用信任和密钥存储。为了给他们传递密码,我使用在与这些商店位于同一文件夹中的 shell 脚本(启动应用程序)中设置的 java 属性:

   -Djavax.net.ssl.keyStorePassword=keystore-password \
   -Djavax.net.ssl.trustStorePassword=truststore-password\

谁能说 - 以这种方式保存这些密码是否安全。我这样认为 - 如果有人对此文件夹具有读/写访问权限,他无论如何都可以读/写此文件并存储。如果我错了,将这些参数传递给应用程序的最安全方法是什么?

【问题讨论】:

  • 首先,信任库密码无关紧要 - 您的应用程序信任的 public 证书集。只要没有人可以修改信任库本身,密码就不能真正保护任何敏感信息。但是,不要使用-Djavax.net.ssl.keyStorePassword=keystore-password 作为命令行参数。它拥有您自己的 private 密钥,并将其放在命令行上使其可能对系统上的所有进程可见。问题是您必须将密码放在进程可以读取的地方。很难获得比文件系统权限更好的权限。

标签: java security ssl keystore truststore


【解决方案1】:

shell可以加密,可以使用shc工具加密shell脚本,shc官网 http://www.datsi.fi.upm.es/%7Efrosal/

【讨论】:

  • 你把解密shell的密钥放在哪里?这不再提供任何安全性。
猜你喜欢
  • 2011-10-26
  • 1970-01-01
  • 2015-01-25
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多