上面的项目 1 是不言自明的。要确定以上 2 是否适用,请首先获取 DD 中的受信任主机列表:
# adminaccess 信任显示
对于此主机信任的每个主机,请检查其升级历史记录,以查看是否安装了 DDOS 5.4(或更低版本)或 DDMC 1.1(或更低版本):
系统升级历史记录数
安装了上述任何版本的系统可能在安装时生成了 CA 自签名证书,公钥长度仅为 1024 位,在升级到 DDOS/DDMC 7.1 后 JDK 不再接受该证书。了解这些主机是否具有具有小型公钥的证书的可能方法是打开 GUI 并从浏览器中检查证书详细信息(执行此操作的方法在浏览器之间略有不同)。
要确认项目 3(如果 DD GUI 故障日志适用于此特定问题),请运行以下命令以打开“em.info”日志文件:
# 日志视图调试/sm/em.info
然后搜索(使用正斜杠)来搜索这些日志(“...”表示某些日志未显示在下方以实现简洁性) :
+-----+-----+-----+ 系统 (RE)START +-----+-----+-----+
...
2021 年 2 月 26 日 10:33:04,172 信息 [主要] 将会话 cookie 名称设置为“JSESSIONID-ddem___HTTPS”
,2021 年 2 月 26 日 10:33:04,172 INFO [main] 将 xsrf cookie 名称设置为“DD_SSO_TOKEN___HTTPS”
2021 年 2 月 26 日 10:33:04,382 信息 [main] 注入 SUN 提供商的 X.509 工厂以修复验证问题
...
2021 年 2 月 26 日 10:33:05,093 信息 [main] 重新初始化客户端与服务器之间的证书
2021 年 2 月 26 日 10:33:05,093 信息 [main] 重新加载系统的证书存储区
2021 年 2 月 26 日 10:33:05,097 INFO [main] 完成重新加载证书存储区
2021 年 2 月 26 日 10:33:05,097 在命令执行过程中出现错误 [main] 异常: javax.net.ssl.SSLException - 创建预主密码时出错。,将重试,尝试# 1
2021 年 2 月 26 日 10:33:05,243 信息 [main] 重新初始化客户端与服务器
之间的证书 2021 年 2 月 26 日 10:33:0 05,243 信息 [main] 重新加载系统的
证书存储区 2021 年 2 月 26 日 10:33:05,246 信息 [主要] 完成证书存储的重新加载
这表示此 DD 导入的一些证书具有短键,因此 GUI 无法启动。
尽管 DDOS 7.1 或更高版本在提供带有小型公钥的证书时继续加载 GUI 失败,但该问题已在版本 DDOS 6.2.1.40 及更高版本以及 DDOS 7.2.0.50 及更高版本的代码中得到解决,因此在升级到任何此类版本时,本地 CA 证书具有小型公钥, 证书将使用较长的密钥重新生成。
考虑到自撰写本文(2022 年 8 月)起,不再支持除 DDOS 6.2.1.x 以外的版本(仅适用于 DD2200 和 DD250 硬件)和 DDOS 7.x,但不会提供任何解决方法,但是对于有问题的 DD,您可以尝试使用较长的密钥重新生成主机和 CA 证书,然后在受影响的设备之间再次删除和重新添加信任:
# adminaccess trust del host dd-trusted-1 type mutual
# adminaccess 证书生成自签名证书重新生成 ca
# adminaccess trust add host dd-trusted-1 type mutual