java-Glassfish 4.1.1-具有我自己的证书的DAS引发“ j_security_check”错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-Glassfish 4.1.1-具有我自己的证书的DAS引发“ j_security_check”错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4276字,纯文字阅读大概需要7分钟。
内容图文
![java-Glassfish 4.1.1-具有我自己的证书的DAS引发“ j_security_check”错误](/upload/InfoBanner/zyjiaocheng/684/dfc61916c5e1414988763745d18ad8aa.jpg)
我有一个正在运行的glassfish 4.1.1实例,并向应用程序添加了自己的证书,直到一切正常.
但是,当我尝试访问glassfish admin(DAS)时,连接不受信任,添加异常的按钮消失了.
然后我发现了一些有趣的链接,例如:
> Right way to configure Glassfish SSL certificate nickname?
我尝试了这个:
asadmin enable-secure-admin --adminalias=myNewAlias --instancealias myNewAlias
asadmin restart-domain domain1
这样,不受信任的连接消息就会消失,并且证书也会正确显示,但是当我尝试身份验证时会抛出错误:
> https://myUrl:4848/j_security_check
根据来自link的答案的评论,这家伙所拥有的非常相似,但我无法解决:
>从?.gfclient / truststore中删除s1as证书
>使用我的新别名证书重新启动域
如何正确更改s1as证书?为了我的DAS能够正常工作…
我正在将Ubuntu 14与java-1.8.0-openjdk-amd64一起使用.
第1步:
第2步:
服务器日志显示以下行:
[2016-10-18T10:38:12.565+0200] [glassfish 4.1] [SEVERE] []
[org.glassfish.admingui] [tid: _ThreadID=51
_ThreadName=admin-listener(2)] [timeMillis: 1476779892565] [levelValue: 1000] [[ javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target;
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target; restRequest:
endpoint=07005
attrs={} method=GET]]
解决方法:
我终于解决了,为什么会这样呢?使用@Mike解释:
That is because there is both a keystore and a truststore for
GlassFish, and the Admin console effectively uses 2-way SSL
authentication for the initial login. If you change the s1as
certificate, you will also need to change the glassfish-instance
certificate
就我而言,我试图使用自己的证书,但是没有正确删除cacerts.jks和keystore.jks文件上的最旧证书.
我正在运行下面的代码,而没有首先从文件中删除s1as和glassfish-instance,那是我错误的步骤…
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
如果您有另一种证书,则必须搜索如何在这两个文件中插入证书类型:
$GLASSFISH_HOME/domains/domain1/config/cacerts.jks – truststore –
holding all the public keys
$GLASSFISH_HOME/domains/domain1/config/keystore.jks – keystore – holding all the private keys
参考文献:
会话6.首次启动之前的安全性配置:
https://www.nabisoft.com/tutorials/glassfish/installing-glassfish-41-on-ubuntu
http://peter-butkovic.blogspot.com.es/2013/02/glassfish-default-keystore-and.html
https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html?jn9ed3e997=3
https://glassfish.java.net/docs/4.0/security-guide.pdf
2)删除最早的自签名证书:
默认情况下,当您运行命令enabled-secur-admin时,分配给该实例的证书为s1as,而公共实例为glassfish-instance,如@Mike在另一个stack-overflow question中所解释的,即使您强制使用另一个证书运行,证书仍然保留.使用以下命令将两者删除:
#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:Right way to configure Glassfish SSL certificate nickname?
https://glassfish.java.net/docs/4.0/security-guide.pdf(?80页)
3)第一步,使用您自己的别名重新启动security-admin
$GLASSFISH_HOME/bin/asadmin enable-secure-admin --adminalias=myOwnAlias --instancealias myOwnAlias
$GLASSFISH_HOME/bin/asadmin restart-domain
从理论上讲,它已经完成,您将能够使用自己的证书访问DAS …;)
内容总结
以上是互联网集市为您收集整理的java-Glassfish 4.1.1-具有我自己的证书的DAS引发“ j_security_check”错误全部内容,希望文章能够帮你解决java-Glassfish 4.1.1-具有我自己的证书的DAS引发“ j_security_check”错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。