更改WSO2 IS证书导致登录失败

Changing WSO2 IS Certificate Leads to Login Failures

几天来我一直在尝试解决这个问题,但我一无所获。我需要 WSO2 IS 来使用我们公司的证书和密钥,但每次我进行更改时,我都无法登录我们的 Web 应用程序。通过管理面板登录 IS 似乎不受阻碍。

当我登录到我们的网络应用程序时,浏览器中出现以下错误:

Error when processing the authentication request!

这是 wso2carbon.log 文件中有关登录尝试的部分内容。

http://pastebin.com/FrtVUWiU

看起来 ldap 身份验证成功,然后我认为它未能完成 SAML 过程。

如果我使用默认密钥库,它可以正常工作,但我必须确认来自不受信任的 CA 的安全异常。

我遵循了 wso2 文档中的说明;使用密钥、证书和中间 CA 证书创建一个新的密钥库,然后将 public 密钥添加到客户端-truststore.jks。我还尝试将证书和密钥导入现有密钥库,确保在尝试之前删除 wso2carbon 密钥。

https://docs.wso2.com/display/IS500/Creating+a+New+Keystore

我已尝试确保中间 CA 证书安装在 IS 主机和我们为 Web 应用程序提供服务的主机上的 Java cacerts 中。所以我认为我已经涵盖了一些不受信任的错误的所有基础。不确定我会在这里遗漏什么。

这似乎不是受信任证书的问题。但是在您的密钥库中,必须有一个私钥条目。此私钥条目的别名必须与 carbon.xml 文件的 <Security><KeyStore><KeyAlias> 配置相同。如果不是,则会产生上述错误。所以,请尝试仔细检查它。

根据代码,居民 IDP 数据是使用 this 代码加载的。所以,我们分析一下,只有165这行和证书加载相关(因为你是超级租户)。所以,它有以下代码

cert = keyStoreManager.getDefaultPrimaryCertificate();

如果 carbon.xml 文件中的密钥库配置存在问题,这可能会出错。