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

2024-03-26

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

但是,当我尝试访问 glassfish 管理员(DAS)时,连接不受信任,并且添加例外的按钮消失了。

然后我发现了一些有趣的链接讨论这个问题,例如:

  • 配置 Glassfish SSL 证书昵称的正确方法? https://stackoverflow.com/questions/29278152/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 https://myUrl:4848/j_security_check

根据答案的评论link https://stackoverflow.com/questions/29278152/right-way-to-configure-glassfish-ssl-certificate-nickname,它与那个人的情况非常相似,但我无法解决它:

  • 从 ~.gfclient/truststore 中删除 s1as 证书
  • 使用我的新别名证书重新启动域

如何正确更改 s1as 证书?为了我的 DAS 工作......

我正在使用 Ubuntu 14 和 java-1.8.0-openjdk-amd64。

Step 1: enter image description here

Step 2: enter image description here

服务器日志显示以下几行:

[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.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX 路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到请求目标的有效认证路径; javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX 路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到请求目标的有效认证路径;休息请求: 终点=https://localhost:4848/management/domain/anonymous-user-enabled https://localhost:4848/management/domain/anonymous-user-enabledattrs={} 方法=GET]]


我终于解决了,为什么会这样?使用@Mike的解释:

这是因为同时存在密钥库和信任库 GlassFish 和管理控制台有效地使用了 2 路 SSL 初始登录的身份验证。如果你改变 s1as 证书,您还需要更改 glassfish-instance 证书

就我而言,我尝试使用自己的证书,但没有正确删除 cacerts.jks 和 keystore.jks 文件上最旧的证书。

我运行下面的代码时没有首先从文件中删除 s1as 和 glassfish 实例,这是我的错误步骤......

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 - 信任库 - 持有所有公钥 $GLASSFISH_HOME/domains/domain1/config/keystore.jks - 密钥库 - 保存所有私钥

参考:

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

http://peter-butkovic.blogspot.com.es/2013/02/glassfish-default-keystore-and.html 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://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html?jn9ed3e997=3

https://glassfish.java.net/docs/4.0/security-guide.pdf https://glassfish.java.net/docs/4.0/security-guide.pdf

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

默认情况下,当您运行命令enabled-secure-admin时,分配给该实例的证书是s1as公众是glassfish-实例,正如 @Mike 在另一篇文章中所解释的堆栈溢出问题 https://stackoverflow.com/questions/29278152/right-way-to-configure-glassfish-ssl-certificate-nickname即使您强制使用另一个证书运行,证书仍然保留。使用以下命令删除两者:

#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

参考:

谢谢@迈克:配置 Glassfish SSL 证书昵称的正确方法? https://stackoverflow.com/questions/29278152/right-way-to-configure-glassfish-ssl-certificate-nickname

https://glassfish.java.net/docs/4.0/security-guide.pdf 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...;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 为什么这不会绘制图像?

    我想做的是 当我运行应用程序时 它会启动线程并且图像显示 3 秒 3000 毫秒 然后线程停止运行 图片路径正确 图片文件存在 线程本身运行 但是 图像似乎没有显示 可能出什么问题了 这是我的代码 package org main impo
  • 在tomcat中显示Spring-security的SQL错误

    我使用 spring security 框架创建了一个 Web 应用程序 我设置了一个数据库来存储用户及其角色 但 tomcat 给出以下错误 17 sep 2010 11 56 14 org springframework beans f
  • 通过 RMI 的服务器,无需注册

    我有一个可以通过 RMI 连接的服务对象 目前我正在这样做 Server Registry r LocateRegistry createRegistry 1234 r bind server UnicastRemoteObject exp
  • 如何将 Excel 中的图表导出为图形

    我有一系列 Excel 电子表格 每个电子表格至少包含一页数据和一页根据数据创建的图表 我需要捕获 不从数据中重新生成 将现有图表作为网络友好图像 这可以通过 Java 或 Net 实现吗 我知道 POI 的东西 Java 不会这样做 或者
  • Tomcat:具有强密码的 TLSv1.2 不起作用

    我安装了Tomcat 7 配置了对 TLSv1 2 的支持在端口 8443 上 我的连接器配置 协议 org apache coyote http11 Http11NioProtocol SSLEnabled true 方案 https 安
  • 关于java中同步的问题;何时/如何/到什么程度

    我正在开发我的第一个多线程程序 并在同步的几个方面陷入困境 我已经浏览了 oracle sun 主页上的多线程教程 以及这里的一些关于 SO 的问题 所以我相信我知道什么是同步 然而 正如我提到的 有几个方面我不太确定如何弄清楚 我以明确问
  • kafka消费端Offsets的一致性

    我有复制因子为 3 的卡夫卡主题min insync replicas 2 一个向该主题发送 X 条消息的生产者acks all 一段时间后 1 分钟内 在所有消息发送到主题后 将使用 java kafka 客户端为此主题创建新的消费者 使
  • 无法使用前导 ../ 在顶级目录之上退出

    我有一个 asp net 网站 我们有管理区域 其中的登录页面仅供管理员使用 并且所有网站都允许所有人使用 当我收到此错误时 我需要询问如何为其定义正确的安全配置 Cannot use a leading to exit above the
  • 在 JUnit 测试中读取资源文件

    我在单元测试中读取文本文件 并将一些输入文本文件放置在资源文件夹中 以下是目录结构 src gt com gt au gt myapp gt util gt MyFileReader 测试 gt com gt au gt myapp gt
  • Kotlin 中的枚举类对于 Android 来说是否像 Java 中那样“昂贵”?

    Are EnumKotlin 中的类对于 Android 来说 昂贵 就像 Java 一样 还可以用吗 IntDefs or StringDefs在科特林 当我将 Kotlin Enum 类反编译为 Java 类时 底层仍然使用了 Java
  • 如何在打开导航抽屉时使背景 Activity 变小?

    我想做我的背景Activity打开时稍微小一点Navigation Drawer 模拟存在的效果Airbnb应用 我想最好的解释是截图 但重点不是让 View 变小 而是让它成为与 Drawer 打开 关闭动画同步的动画 因此 如果您开始打
  • 如何知道一个点是否在复杂的 3D 形状内(.ply 文件)

    我正在研究一个Java女巫项目真是要了我的命 经过几天在不同论坛上的研究 寻找我真正需要的东西 我来寻求你的帮助 我的数据 ply 文件 包含由许多三角形组成的 3D 形状 一个点 3D坐标 我想知道这个点是否包含在复杂的 3D 形状内 我
  • 用于验证 InetSocketAddresses 的正则表达式(ipv4/v6 + 端口地址)

    我在寻找testedipv4 和 ipv6 的正则表达式InetSocket地址 http download oracle com javase 6 docs api java net InetSocketAddress html toSt
  • Guava MultiSet 与 Map?

    我对Multiset的理解是一个带有频率的集合 但是我总是可以使用Map来表示频率 还有其他原因使用Multiset吗 优点Multiset
  • 使用从 java 程序调用的 Windows 命令提示符将具有多个连续空格的字符串作为参数传递给 jar 文件

    我想使用在另一个java程序中调用的Windows命令提示符将带有多个连续空格的字符串作为参数传递给jar文件 java 文件是这样的 它打印它的所有参数 package src public class myClass public st
  • 为什么ArrayList的非静态内部类SubList有一个成员变量“parent”?

    java util ArrayList SubList 是 java util ArrayList 的非静态内部类 这意味着它保存对其封闭类的引用 我们可以使用ArrayList this来访问java util ArrayList的成员
  • 使用基于Optional内容的流

    我从不受我控制的服务获取可能为空的地图 并且想要处理它 比方说 过滤 映射并减少到我需要的单个元素 问题 是否有从Optional到Stream的 链接 我尝试过 除其他外 return Optional ofNullable getMap
  • 如何在 Android 上设置 Google Drive API?

    我一直在尝试将 Google Drive 功能集成到我的应用程序中 但我无法使用任何内置功能 因此我相信我要么错过了一个步骤 要么做得不正确 我正在遵循官方的 Google 开发者指南 https developers google com
  • 使用 SSL 的 Xamarin.Forms Image.Source

    我正在使用一个在线商店来存储通过我们的应用程序上传的用户图像 并受 SSL 保护 上传工作一切顺利 因为我使用的是带有附加证书的 WebClient 但是当我尝试使用 Xamarin Forms Image 组件时 例如将源设置为 http
  • Asp.Net Core 中的 SSL 不起作用

    我从 Visual Studio 创建了一个简单的 Web 应用程序Web Application Net Core 具有个人用户帐户授权的模板 然后 我启用了 SSLProject gt MyProject Properties 将带有

随机推荐

  • 具有不同参数的 C++ 成员函数指针 - 还是这很糟糕?

    尽管我担心你会告诉我这个话题已经被讨论过好几次了 但我还是敢问 因为我无法生成解决方案 也许我只是在寻找错误的东西 假设我有一个从某些外部函数接收 模式 的函数 根据模式的不同 函数会调用同一对象的不同成员函数 对于没有任何参数的成员函数
  • 如何用相邻值替换数据框中的 NA(缺失值)

    862 2006 05 19 6 241603 5 774208 863 2006 05 20 NA NA 864 2006 05 21 NA NA 865 2006 05 22 6 383929 5 906426 866 2006 05
  • 如何从 SonarQube 提取或导出规则

    如果我能获得以下情况的帮助 请感激 我的问题是确定如何在 SonarQube 4 5 7 上提取 导出所有 java 规则 我尝试了以下两个 API 调用 但收到 您正在查找的页面不存在 我的 sonarqube 版本显示了 781 个 j
  • 如何从 Carrierwave Uploader 对象引用父模型

    我想在通过 Carrierwave 完成文件上传后运行一些方法 Carrierwave包含几种回调方法详解here https github com jnicklas carrierwave wiki How to 3a use callb
  • Google Chrome 中的 DOM 过载问题

    我在 Google Chrome 中使用大量隐藏项目时遇到一些问题 最近 我发布了一个问题 https stackoverflow com questions 56329780 inexplicit task in chrome perfo
  • 毛伊岛内容页面视图中的视图模型未被识别

    我试图理解毛伊岛的服务 但注入并没有在视图中重新认识它 namespace FoodOrder ViewModels public class MenusViewModel IMenuServiceInterface menuService
  • 由于内存压力而终止应用程序

    我有一个应用程序可以在连拍模式下拍摄图像 但是一旦拍摄图像并即将出现预览时 它就会崩溃并且错误显示 由于内存压力而终止应用程序 当用户按住相机按钮时 我需要拍摄更多数量的图像 离开按钮后 我需要将所有图像显示为幻灯片 我必须做什么 我的代码
  • Rails 3:如何正确显示“textarea”中的文本?

    在我的 Rails 3 应用程序中我使用textarea让用户在论坛中撰写新消息 但是 当显示消息时 所有换行符看起来都像空格 没有 br 也许还有其他不匹配的例子 我还不知道 我想知道处理这个问题最合适的方法是什么 我猜想存储在数据库中的
  • 如何让线程构建块在 Ubuntu 14.04 中工作

    我想让 TBB 工作 但在 Ubuntu 14 04 上编译工作有点困难 我认为这可能是为编译器设置库位置的问题 我使用以下命令安装了 TBB sudo apt get install libtbb dev 我现在正在尝试编译一个小测试示例
  • 如何编写读取退回电子邮件的 PHP 脚本?

    我正在使用 PHP 处理退回电子邮件 我已在邮件功能中包含返回路径 例如 mail to address subject message headers f return path return path email protected c
  • 如果我不等待任务会怎样?

    考虑这个例子 var task DoSomething bool ready await DoSomethingElse if ready return null var value await DoThirdThing depends o
  • 从项目根目录移动 cypress 文件夹

    当我安装并运行 cypress 时 它会搭建一个cypress 我的项目根目录中的文件夹 问题是所有其他测试相关数据都存储在test 文件夹 有没有简单的方法可以将其移动到test cypress并配置 cypress 来查看那里 赛普拉斯
  • 在同一 SQL 查询中使用“WITH”和“UPDATE”语句

    我有一个表格 需要使用 Excel 电子表格中的一些数据进行更新 我正在考虑这样的查询 WITH temp AS SELECT abcd AS oldvalue defg AS newvalue FROM dual UNION SELECT
  • Fortran 90 - 尝试读取文件末尾之后的内容

    我在 Fortran 90 中遇到读取问题 我尝试读取 31488 行数据 我正在使用 Portland Group Fortran 90 编译器 我的错误信息是这样的 PGFIO F 217 列表定向读取 单元 14 尝试读取文件末尾 文
  • MacOS M1 上的 Docker kafka 配置时遇到问题

    我使用 macOS M1 Big Sur 11 2 3 但我的 kafka 无法正常运行 无法创建 列出主题 我不知道是不是操作系统的原因 但是kafka的日志只是这样 docker compose 日志 https i stack img
  • 使用 forEach() 返回数组值[重复]

    这个问题在这里已经有答案了 我希望返回存储在另一个对象中的数组的名称值 exports send function req res req body items forEach function item console log item
  • 设置服务总线辅助角色的 OperationTimeOut 属性

    我正在使用服务总线辅助角色模板创建辅助角色 我处理每条消息都要花费一分多钟的时间 因此 我发现工作角色多次收到相同的消息 大约每分钟收到一条消息 我认为这是因为该值默认为 60 秒 http msdn microsoft com en us
  • Android所有广播Intent列表在哪里

    我想接收Android广播消息 有所有意图的列表吗 我找到了广播意向列表 它可以位于sdks or android sdks platforms
  • 如何在 Tomcat 中为单个 Web 应用程序设置时区?

    在 Tomcat 中为单个 Web 应用程序设置时区的最佳方法是什么 我已经看到了更改 Tomcat 的命令行参数或环境变量的选项 但是有没有一种方法可以将其设置为独立于 WAR 文件而不依赖于任何 Tomcat 配置 编辑 再次强调 我正
  • Glassfish 4.1.1 - 使用我自己的证书的 DAS 抛出“j_security_check”错误

    我有一个 glassfish 4 1 1 实例正在运行 并将我自己的证书添加到我的应用程序中 直到那时一切都正常 但是 当我尝试访问 glassfish 管理员 DAS 时 连接不受信任 并且添加例外的按钮消失了 然后我发现了一些有趣的链接