证书在不同的机器上显示不同的证书链
Cert shows certification chain differently on different machine
软件供应商向我提供了 SSL 证书(.cer 扩展名)。当我在笔记本电脑上打开它时,我可以看到
This certificate is intended for the following purposes:
- All application policies
Issue To: uat.xxxxxx.sg
Issue By: XXXXXX.
在 "Certification path" 选项卡下,我可以链接,"XXXXXX" 在顶部,"uat.xxxxxx.sg" 在它下面。下面的证书状态显示:
Certificate status:
The issuer of this certificate could not be found.
我把这个证书复制到一个服务器(姑且称之为服务器 XYZ),并在服务器上打开它,它显示:
Windows does not have enough information to verify this certificate:
Issue To: uat.xxxxxx.sg
Issue By: XXXXXX.
而在 "Certificate path" 选项卡下,它只显示单个 "uat.xxxxxx.sg"、
Certificate status:
The issuer of this certificate could not be found.
为什么在不同的机器上显示不同?
在我的笔记本电脑上,我将证书文件导入到 Java 密钥库文件中。这将是我的信任库。然后我 运行 一个我自己编写的小 Java 程序,用于使用单向 SSL 连接到软件供应商的服务器,使用以下参数指定信任库。该程序 运行 正常,因为它能够成功连接到软件供应商的服务器。
-Djavax.net.ssl.trustStore=....
-Djavax.net.ssl.trustStorePassword....
但是,当我将程序和密钥库带到服务器 XYZ 并 运行 它时,它失败了 "unable to find valid certification path to requested target"。证书似乎在服务器 XYZ 上变得未知,即使它在我的信任库中。
可能是什么问题?
提前致谢。
(在评论中解决)
Why does it show differently on different machine?
A .cer
将包含叶证书。当操作系统显示证书时,它会在系统信任库中查找证书链和根 CA
在您的笔记本电脑中,您可能已经在系统信任库的 "Trusted Root Certificate Authorities" 中安装了发行者。然后当操作系统显示证书时,它会在系统信任库中找到颁发者并显示它。
在您的服务器中似乎没有安装颁发者的证书链,然后证书可视化器找不到它。
It seems that the certificate has become unknown on server XYZ, even though it is in my truststore.
What could be the problem?
将根 CA 证书包含到 JKS 信任库中应该足以连接到 SSL 服务器。尝试将 "XXXXXX" 导入 JKS。
软件供应商向我提供了 SSL 证书(.cer 扩展名)。当我在笔记本电脑上打开它时,我可以看到
This certificate is intended for the following purposes:
- All application policies
Issue To: uat.xxxxxx.sg
Issue By: XXXXXX.
在 "Certification path" 选项卡下,我可以链接,"XXXXXX" 在顶部,"uat.xxxxxx.sg" 在它下面。下面的证书状态显示:
Certificate status:
The issuer of this certificate could not be found.
我把这个证书复制到一个服务器(姑且称之为服务器 XYZ),并在服务器上打开它,它显示:
Windows does not have enough information to verify this certificate:
Issue To: uat.xxxxxx.sg
Issue By: XXXXXX.
而在 "Certificate path" 选项卡下,它只显示单个 "uat.xxxxxx.sg"、
Certificate status:
The issuer of this certificate could not be found.
为什么在不同的机器上显示不同?
在我的笔记本电脑上,我将证书文件导入到 Java 密钥库文件中。这将是我的信任库。然后我 运行 一个我自己编写的小 Java 程序,用于使用单向 SSL 连接到软件供应商的服务器,使用以下参数指定信任库。该程序 运行 正常,因为它能够成功连接到软件供应商的服务器。
-Djavax.net.ssl.trustStore=....
-Djavax.net.ssl.trustStorePassword....
但是,当我将程序和密钥库带到服务器 XYZ 并 运行 它时,它失败了 "unable to find valid certification path to requested target"。证书似乎在服务器 XYZ 上变得未知,即使它在我的信任库中。
可能是什么问题?
提前致谢。
(在评论中解决)
Why does it show differently on different machine?
A .cer
将包含叶证书。当操作系统显示证书时,它会在系统信任库中查找证书链和根 CA
在您的笔记本电脑中,您可能已经在系统信任库的 "Trusted Root Certificate Authorities" 中安装了发行者。然后当操作系统显示证书时,它会在系统信任库中找到颁发者并显示它。
在您的服务器中似乎没有安装颁发者的证书链,然后证书可视化器找不到它。
It seems that the certificate has become unknown on server XYZ, even though it is in my truststore. What could be the problem?
将根 CA 证书包含到 JKS 信任库中应该足以连接到 SSL 服务器。尝试将 "XXXXXX" 导入 JKS。