将证书导入Glassfish并更改主密码

And*_*rew 3 passwords certificate glassfish master keystore

我一直在尝试使用使用Glassfish的应用程序来帮助我们的一个站点时收到错误消息.登录应用程序时,会引发以下错误:

CommunicationException:发出HTTP请求时发生错误.这可能是由于服务器证书不是configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the客户端和服务器之间的安全绑定.

在Server.log中,显示以下内容:

0400 | SEVERE | glassfish3.1 | com.sun.grizzly.config.GrizzlyServiceListener | _ThreadID = 287; _TreadName = Thread-1; |无法加载带路径C的密钥库类型JKS:\ glassfishv3\glassfish\domains\domain1/config/keystore.jks由于Keystore被篡改,或密码错误java.io.IOException:Keystore被篡改,或密码不正确

该网站只有在更改glassfish主密码时才会遇到此问题.当主密码保留为默认设置时,一切正常.默认主密码为"changeit".

此外,该站点还生成并导入用于glassfish的证书.以下是为了生成证书和更改密码而按顺序执行的步骤:

  1. 停止Glassfish服务.

  2. 打开MMC.MSC:操作 - >所有任务 - >申请新证书

  3. 从"证书注册"向导中,选择"计算机类型"证书.单击"属性"按钮并配置证书.它获得友好名称"s1as"和密钥大小为2048的可导出私钥.私钥导出为pfx文件,证书导出为cer文件.这些文件保存在glassfish配置文件夹中.如果需要,可以使用此过程的详细信

  4. DOS提示符已打开,此命令在glassfish配置文件夹中运行:keytool -delete -alias s1as -keystore keystore.jks -storepass changeit

  5. 运行以下命令:keytool -import -v -trustcacerts -alias -file root.cer -keystore cacerts.jks -storepass changeit

回答"Y"信任证书.

  1. 执行以下命令,将原始自签名证书替换为pfx证书.keytool -importkeystore -srckeystore .pfx -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype JKS

输入密码,然后在成功导入1个条目后显示成功消息.

  1. 执行此命令:keytool -list -keystore keystore.jks -rfc

产生了大量输出,包括长别名.在下一个命令中使用了长别名.

  1. 运行以下命令:keytool -changealias -alias""-destalias"s1as"-keypass changeit -keystore keystore.jks -storepass changeit

  2. 在asadmin中运行以下命令:change-master-password --savemasterpassword = true输入当前密码"changeit"输入新密码123456重新输入123456.主密码成功更改的成功消息.

    1. 开始使用玻璃鱼服务

在我的本地测试中,此过程已经起作用,我可以使用该应用程序而没有错误.但是在我帮助的网站上,当他们遵循相同的流程时,他们会收到我在此邮件顶部列出的错误.

我的具体问题:

该网站的证书可能会导致此问题吗?如果是这样,有没有办法可以测试证书是否有问题?

还有哪些其他因素可能会产生错误?"change-master-password"命令可能无法正确更改密码,还是有其他东西需要更改密码?

And*_*rew 6

我找到了解决方案,如果将来有人遇到我遇到的同样的问题,我会在这里发布.希望有一天这会让人感到非常沮丧.

在domain.xml中,需要在jvm-options区域中添加以下两行.

  <jvm-options>-Djavax.net.ssl.keyStorePassword=[password]</jvm-options>
  <jvm-options>-Djavax.net.ssl.trustStorePassword=[password]</jvm-options>
Run Code Online (Sandbox Code Playgroud)