我有一个通配符证书,我想安装在一个玻璃鱼v4服务器。在转换证书格式并将其导入到java (使用其他主题已经讨论过的命令)之后,我们必须配置文件domain.xml以包含JKS的密码。类似于:
<jvm-options>-Djavax.net.ssl.keyStore=/myappdir/keystore.jks</jvm-options>
<jvm-options>-Djavax.net.ssl.keyStorePassword=changeit</jvm-options>
<jvm-options>-Djavax.net.ssl.trustStore=/myappdir/cacerts.jks</jvm-options>
<jvm-options>-Djavax.net.ssl.trustStorePassword=changeit</jvm-options>
<jvm-options>-Djavax.net.ssl.keyAlias=myapp-cert</jvm-options>
<jvm-options>-Djavax.net.ssl.keyStoreAlias=myapp-cert</jvm-options>
<jvm-options>-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=myapp-cert</jvm-options>这里的问题是,JKS的密码必须插入到文件(请参阅-Djavax.net.ssl.trustStorePassword=changeit)中,我认为出于安全原因,这不是一个很好的方案。
有没有人知道在不将密码存储到配置文件的情况下将证书导入glassfish v4的更好方法?
发布于 2017-08-22 15:11:57
通常,您可以避免使用别名在domain.xml中存储敏感数据。
例如,假设对于用于"secretDBpassword“的生产数据库,我的DB密码为"myApp”,则可以执行以下操作:
创建密码别名:
asadmin> create-password-alias myApp-production-db
Please enter the alias password> // enter secretDBpassword
Please enter the alias password again> // enter secretDBpassword
Command create-password-alias executed successfully.将密码属性的值设置为:
${ALIAS=myApp-production-db}这不一定要用在密码上。任何字符串都可以作为别名存储。
但是,在您的例子中,我们讨论的是用于密钥库和信任库的密码。这是主密码,可以使用asadmin命令设置:
asadmin> change-master-password正如您在示例中所指出的,默认的是changeit,这是众所周知的,所以“更改它”是个好主意!
以这种方式使用主密码将避免在JVM选项中或在domain.xml中的任何地方指定任何密码。
https://stackoverflow.com/questions/45820060
复制相似问题