0

我正在为我们公司的应用程序设置一个 Wildfly 网络服务器。我之前通过创建通配符证书来使用我们的内部 MS CA 完成此操作,并且能够毫无问题地执行此操作。通常我创建通配符证书然后导出 pfx。我使用 OpenSSL 提取证书,然后将私钥提取到单独的文件中。接下来,我使用 OpenSSL 从这些文件中构建一个 pkcs12 pfx 文件。我将密钥库文件放在 Wildfly 配置文件夹中,使用密钥库及其密码更新 Standalone,然后添加使用 8443 的行。重新启动应用程序。我使用 GPO 将根 crt 推送到工作站并完成。一切正常。

这次我们的客户想要做证书,我们为通配符创建了一个 csr 并保存了私钥。从他们那里取回通配符证书,然后是 CA 和 CA-SUB crt 文件。还给了我们一个包含 Root 和 Sub 证书组合的文件。使用以下命令构建新的 pkcs12 密钥库:

openssl pkcs12 -export -out "New Wildcard PFX keystore" inkey private.key -in "Cleints wildcard.cer" -certfile "Cleints Root and Sub 组合 cer 文件"

我还自己添加了子,并自己添加了根。

当我将上面创建的新通配符 PFX 密钥库文件添加到 Wildfly 配置并转到网站时,我在 chrome 中收到以下错误。

Chrome 中的 SSL 错误

当我运行以下命令时,我得到

openssl s-client -connect ServerFQDN.net:8443

无法验证第一个证书 OpenSSL S_Cleint 无法验证输出

我已经运行了调试命令,发现我可以看到通配符名称 SUB 和根。一切似乎都很好。我已经在服务器上多次卸载并安装了 root 和 sub crt。确保它们位于受信任的文件夹中,并且子文件夹位于该文件夹中并处于中间位置,以防万一。我不确定我做错了什么。

我注意到的一件事是,当我对网站运行 OppenSSL S-cleint 时,该命令永远不会完成,就像它试图到达某些东西但无法完成一样。我是否需要访问他们的 CA,服务器是否应该能够通过某种验证过程来访问它。我需要设置 DNS 记录吗?


更新信息 3-9-21

我在这方面做了更多的工作。我在之前使用过的 HA 代理设置上获得了证书,但遇到了同样的问题。我认为问题在于我如何创建证书。

客户端给了我 3 个 .crt 文件,一个用于根 CA,1 个用于子 CA,1 个是两者的组合。我还获得了我们提供给他们的通配符 csr 的 .cer 文件。

然后我运行了这个命令。

openssl pkcs12 -export -out "New Wildcard PFX keystore" -inkey private.key -in "Cleints wildcard.cer" -certfile "Cleints Root 和 Sub 组合的 .cer 文件"

我得到的私钥文件最后有一个 .enc,我相信它是加密的。我将它的名称更改为 private.key 并通过这种方式运行它。zi 很确定它未加密它并且可以正常工作,因为我第一次运行命令时,我的 Cleints Wildcard.cer 文件有误,并且我收到一条消息,指出私钥与提供的任何证书都不匹配。然后我将正确的文件添加到 opensll 命令中,它生成得很好。如果我这样做不正确,或者如果有一种方法可以测试 .pfx 文件以验证它是否正常工作,请发送给我或链接或让我知道我缺少什么。


4

0 回答 0