Https 使用服务器证书捆绑包配置KeyClope

Https 使用服务器证书捆绑包配置KeyClope,https,bundle,keystore,keycloak,Https,Bundle,Keystore,Keycloak,我在keydape服务器上配置了HTTPS,方法是将证书a.crt放在Java密钥库中,然后在standalone.xml中配置该密钥库。到目前为止,HTTPS访问在给定客户机上运行良好。证书由中间CAB签名,中间CAB由根CAC签名 现在,我从另一个客户端访问KeyClope时遇到问题。它说:“无法获得本地颁发者证书”或“由未知机构签署的证书”(取决于客户端软件)。我很确定根本原因是该客户端不知道CA证书B.crt。一个强有力的迹象是,我可以使用curl--cacert B.crt从该客户机访

我在keydape服务器上配置了HTTPS,方法是将证书
a.crt
放在Java密钥库中,然后在
standalone.xml
中配置该密钥库。到目前为止,HTTPS访问在给定客户机上运行良好。证书由中间CA
B
签名,中间CA
B
由根CA
C
签名

现在,我从另一个客户端访问KeyClope时遇到问题。它说:“无法获得本地颁发者证书”或“由未知机构签署的证书”(取决于客户端软件)。我很确定根本原因是该客户端不知道CA证书
B.crt
。一个强有力的迹象是,我可以使用
curl--cacert B.crt从该客户机访问keydapehttps://keycloak...

由于我无法预测哪些客户端将安装哪些CA证书,因此我希望将由
a.crt
B.crt
C.crt
组成的捆绑包配置为根证书。如果这是一个直接获取PEM证书的服务器,我会使用由
cat a.crt B.crt C.crt>bundle.crt
生成的bundle.crt,但由于它使用了Java密钥库,因此这不是keydove的选项

那么,如何将服务器证书捆绑包(这是正确的术语)存储到Java密钥库中,以便KeyClope能够以“所有”客户端都可以访问服务的方式使用它呢

更新我已尝试将中间证书和根证书
B
C
添加到KeyClope已使用的密钥库中,但这并没有解决当前问题:

keytool -import -alias b -file B.crt -keystore $KEYSTORE
keytool -import -alias c -file C.crt -keystore $KEYSTORE

您说过在导入了.crt的standalone.xml中配置了密钥库,但是您有信任库吗?您可以尝试在信任库中添加B.crt。

您说过在导入a.crt的standalone.xml中配置了密钥库,但您有信任库吗?您可以尝试在信任库中添加B.crt