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的证书.以下是为了生成证书和更改密码而按顺序执行的步骤:
停止Glassfish服务.
打开MMC.MSC:操作 - >所有任务 - >申请新证书
从"证书注册"向导中,选择"计算机类型"证书.单击"属性"按钮并配置证书.它获得友好名称"s1as"和密钥大小为2048的可导出私钥.私钥导出为pfx文件,证书导出为cer文件.这些文件保存在glassfish配置文件夹中.如果需要,可以使用此过程的详细信
DOS提示符已打开,此命令在glassfish配置文件夹中运行:keytool -delete -alias s1as -keystore keystore.jks -storepass changeit
运行以下命令:keytool -import -v -trustcacerts -alias -file root.cer -keystore cacerts.jks -storepass changeit
回答"Y"信任证书.
输入密码,然后在成功导入1个条目后显示成功消息.
产生了大量输出,包括长别名.在下一个命令中使用了长别名.
运行以下命令:keytool -changealias -alias""-destalias"s1as"-keypass changeit -keystore keystore.jks -storepass changeit
在asadmin中运行以下命令:change-master-password --savemasterpassword = true输入当前密码"changeit"输入新密码123456重新输入123456.主密码成功更改的成功消息.
在我的本地测试中,此过程已经起作用,我可以使用该应用程序而没有错误.但是在我帮助的网站上,当他们遵循相同的流程时,他们会收到我在此邮件顶部列出的错误.
我的具体问题:
该网站的证书可能会导致此问题吗?如果是这样,有没有办法可以测试证书是否有问题?
还有哪些其他因素可能会产生错误?"change-master-password"命令可能无法正确更改密码,还是有其他东西需要更改密码?
我找到了解决方案,如果将来有人遇到我遇到的同样的问题,我会在这里发布.希望有一天这会让人感到非常沮丧.
在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)
| 归档时间: |
|
| 查看次数: |
5508 次 |
| 最近记录: |