我在Tomcat上部署了一个SOAP Web服务,需要使用https . 现在我需要一个使用WSO2 ESB的代理来使用WSO2 IS作为PDP来实现XACML授权策略的PEP . 现在我在使用各种公钥时遇到了很多麻烦 . 我需要导入哪些证书以及在哪里?
Tomcat:我需要WSO2 ESB证书吗? WSO2 ESB:我想我需要WSO2 IS和Tomcat证书吗?我对吗? WSO2 IS:我认为只需要WSO2 ESB证书 .
我对吗?非常感谢你 .
您正在从WSO2 ESB调用HTTPS服务 .
这里WSO2 ESB充当SSL握手中的客户端,WSO2 IS和Tomcat充当服务器 . 在SSL握手中,客户端需要信任服务器 . 因此,客户端必须具有服务器的证书 .
其实,
如果服务器具有CA签名证书,则客户端必须在其信任库中具有CA证书链 .
如果服务器具有自签名证书,则客户端必须在其信任库中具有服务器证书
因此,ESB必须包含ESB信任库中WSO2IS和Tomcat的证书 .
ESB的默认信任库是 client-truststore.jks 密钥库文件,可以在 ESB_HOME/repository/resources/security 目录中找到 .
client-truststore.jks
ESB_HOME/repository/resources/security
您可以从Tomcat和WSO2IS导出证书并将其导入此密钥库 . 但是,如果您将WSO2IS与默认密钥库一起使用,那么您不希望将其导入此密钥库,因为它已经存在 .
您无需将ESB的证书导入WSO2IS或Tomcat for SSL . 只有在使用Mutual SSL时才需要它 .
1 回答
您正在从WSO2 ESB调用HTTPS服务 .
Tomcat中的
这里WSO2 ESB充当SSL握手中的客户端,WSO2 IS和Tomcat充当服务器 . 在SSL握手中,客户端需要信任服务器 . 因此,客户端必须具有服务器的证书 .
其实,
如果服务器具有CA签名证书,则客户端必须在其信任库中具有CA证书链 .
如果服务器具有自签名证书,则客户端必须在其信任库中具有服务器证书
因此,ESB必须包含ESB信任库中WSO2IS和Tomcat的证书 .
ESB的默认信任库是
client-truststore.jks
密钥库文件,可以在ESB_HOME/repository/resources/security
目录中找到 .您可以从Tomcat和WSO2IS导出证书并将其导入此密钥库 . 但是,如果您将WSO2IS与默认密钥库一起使用,那么您不希望将其导入此密钥库,因为它已经存在 .
您无需将ESB的证书导入WSO2IS或Tomcat for SSL . 只有在使用Mutual SSL时才需要它 .