使用SSO和自定义Cert

时间:2015-10-16 14:30:50

标签: wso2 wso2greg

我们一直在实施GREG5.0并使用默认配置一切正常。一旦我们用wers2cabon.jks密钥库替换默认的localhost证书,我们就会收到" java.security.SignatureException:签名长度不正确:得到256但是期望128"当我们使用SSO登录Store或Publisher时。

我们已从wso2carbon.jks中删除了默认密钥对,并添加了我们自己的证书。我们的密钥库和证书的密码是相同的。我们根据wso2 carbon 4.4文档更新了所有配置文件。我们使用local_policy.jar和us_export_policy.jar更新了JavaHome,以便允许更长的密钥长度。

管理员控制台运行良好,没有任何问题。如果我们将商店或发布商的登录方式更改为"基本"然后它工作正常。当我们将登录方法设置为" SSO"我们最终坐在这个位置https://servername/store/acs的空白页面上。如果我们作为Windows服务器或在控制台模式下运行,我们在浏览器中会得到相同的结果但是,如果我们作为Windows服务运行,那么我们没有错误,也没有指示发生了什么。如果我们在控制台模式下运行,那么我会在控制台中发出上面提到的错误。

我在访问仪表板时也注意到了Identity Server 5.0上的这种行为。

我们正在Windows上运行。

我是否需要更新WSO2中的其他位置以适应增加的密钥长度?

1 个答案:

答案 0 :(得分:0)

我错过更新的位置是存储库/部署/服务器/ jaggeryapps / store / config / store.json存储库/部署/服务器/ jaggeryapps / publisher / config / publisher.json中的IdentityAlias。一旦我更新了该值以匹配我在wso2carbon.jks中使用的密钥对的别名,看起来好像它解决了keylength错误并产生了另一个问题。

所以现在它给了我一个NullPointerException。我提供了密钥对的别名,但这与从我们在client-truststore.jks中加载的密钥对导出的证书的别名不同。所以我决定设置两个别名'所以他们会匹配。通过这种改变,我终于能够成功访问商店和发行商。

经过一些进一步的测试,只要IdentityAlias中的值与client-truststore.jks中加载的证书的别名相匹配,就不关心我的密钥对别名是什么。

希望这有助于某人。 乔