当前位置: 首页 > 知识库问答 >
问题:

Glassfish 4.1.1-使用我自己的证书的DAS抛出“j_security_check”错误

陶鹏
2023-03-14

我有一个glassfish 4.1.1的实例正在运行,我在应用程序中添加了我自己的证书,直到那时一切都正常了。

但是,当我试图访问glassfish admin(DAS)时,连接被取消了,添加异常的按钮消失了。

然后我发现了一些有趣的链接,比如:

    null
asadmin enable-secure-admin --adminalias=myNewAlias --instancealias myNewAlias
asadmin restart-domain domain1

这样,不受信任的连接消息就会消失,certicate也会正确地出现,但当我尝试身份验证时,会抛出一个错误:

    null

根据链接中答案的评论,这是非常相似的,但我不能解决它做:

    null

我正在使用带有java-1.8.0-openjdk-amd64的Ubuntu14。

[2016-10-18T10:38:12.565+0200][glassfish 4.1][严重][][org.glassfish.adminGui][tid:_threadid=51_threadname=admin-listener(2)][timeMillis:1476779892565][levelValue:1000][[javax.net.sslhandshakeException:Sun.security.validator.validatoreXception:PKIX路径构建失败:Sun.security.Provider.CertPath.SunCertPathBuilderException:

共有1个答案

尹弘壮
2023-03-14

我终于解决了,为什么会发生?使用@mike解释:

这是因为GlassFish有一个密钥存储库和一个信任存储库,管理控制台有效地使用双向SSL身份验证进行初始登录。如果更改s1as证书,还需要更改glassfish-instance证书

在我的例子中,我试图使用自己的证书,但没有正确删除cacerts.jks和keystore.jks文件上最旧的证书。

asadmin enable-secure-admin --adminalias=myNewAlias --instancealias myNewAlias

到Glassfish 4.1.1上使用您自己的证书运行的域管理服务器(DAS),您必须遵循以下步骤:

1)将您自己的证书插入cacerts.jks和keystore.jks文件:

在我的情况下,我使用的是证书PKCS12:

keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore keystore.jks -srckeystore myOwnCert.p12 -srcstoretype PKCS12 -srcstorepass changeit -alias myOwnAlias

keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore cacerts.jks -srckeystore myOwnCert.p12 -srcstoretype PKCS12 -srcstorepass changeit -alias myOwnAlias

参考资料:

第6次会议。首次启动前的安全配置:https://www.nabisoft.com/tutorials/glassfish/installing-glassfish-41-on-ubuntu

https://www.sslshopper.com/article-moster-common-java-keytool-keystore-commands.html?JN9ED3E997=3

2)删除最早的自签名证书:

#Restart your domain without secure-admin
$GLASSFISH_HOME/bin/asadmin disable-secure-admin


#Go to your domain config folder to remove the certificates:
cd $GLASSFISH_HOME/domains/domain1/config/
keytool -delete -alias s1as -keystore keystore.jks -storepass changeit
keytool -delete -alias glassfish-instance -keystore keystore.jks -storepass changeit
keytool -delete -alias glassfish-instance -keystore cacerts.jks -storepass changeit
keytool -delete -alias s1as -keystore cacerts.jks -storepass changeit

参考资料:

谢谢@Mike:配置Glassfish SSL证书昵称的方法对吗?

3)在第一步使用您自己的别名重新启动security-admin

$GLASSFISH_HOME/bin/asadmin enable-secure-admin --adminalias=myOwnAlias --instancealias myOwnAlias

$GLASSFISH_HOME/bin/asadmin restart-domain
 类似资料:
  • 我有一个运行glassfish 4.1.1的实例,我将自己的证书添加到我的应用程序中,在此之前一切正常。 但是,当我试图访问glassfish管理员(DAS)时,连接未受信任,添加异常的按钮消失了。 然后我发现了一些有趣的链接,比如: 配置Glassfish SSL证书昵称的正确方法 我试过这个: 这样,不受信任的连接消息消失,证书正确显示,但当我尝试身份验证时抛出错误: https://myUr

  • 我想通过SSL连接到我的服务器。因此,我使用以下命令在服务器上生成证书: 如果我使用如下所示的TrustManager信任客户端上的所有证书,则连接可以正常工作: 但我当然不想相信所有的证书,而只相信我的证书。我尝试了以下几个命令来导入证书: 我要怎么做才能让它正常工作?有人能解释一下对一个不是很熟悉cryto领域的人所必需的步骤吗? 编辑:正如Donal Fellows所建议的那样,我尝试了自定

  • 在下面一段Android应用程序的代码中,服务器向连接Android客户端提供了一个自签名证书。也就是说,我已经用自己的CA签署了服务器的证书。该证书将使用CA的公钥进行验证,该公钥是从放置在/raw中的名为trust_store_ca的文件中获得的。问题是,如果我使用不同的证书(使用不同的CA签名,即),验证步骤不会抛出相应的SignatureException。我在NetBeans中测试了代码

  • 我正在尝试为我的所有TextViews/EditViews等设置自定义字体。我遵循这个答案:是否可以为整个应用程序设置自定义字体? 为此,我有一个<code>。ttfassets/font/myFont.ttf中的文件。要将此<code>字体: } 要将其添加到我的文本视图,我只需在布局中执行以下操作: 样式在哪里: 错误 我想我确实错过了一些非常简单的事情。这是LogCat:

  • 我尝试将带有正确应用程序ID、应用程序机密等的curl请求发送到 我需要从中获取访问令牌,但获取FALSE和print next message,否则: 我的代码是: 当我手动移动到上面的链接时,我很好地获得了访问权。为什么卷曲不起作用?请帮忙。

  • 问题内容: 我一直在使用Tensorflow库来完成这些教程。现在我想使用自己的数据,但是我失败了。这也许是一个菜鸟问题,但我无法弄清楚。 我正在使用此示例:[https]( https://github.com/aymericdamien/TensorFlow- Examples/blob/master/examples/3%20-%20Neural%20Networks/convolution