如何在wso2esb中使用客户端和服务器进行SSL相互身份验证

时间:2014-05-29 11:59:07

标签: ssl wso2 ssl-certificate wso2esb

我正在使用wso2esb-4.8.1和java web客户端。 我希望在wso2esb.My客户端网站以及Android应用程序中进行SSL相互身份验证,所以我跟随博客上面的 http://pathberiya.blogspot.in/2012/08/enable-mutual-ssl-for-proxy-services-in.html ,所以我创建了.jks文件,并用wso2carbon.jks替换了它的工作。 但是如何与后端服务器进行相互身份验证。它有自己的证书。我可以将该证书导出到我的wso2esb安全文件夹中。这样就可以了。还是不行。我需要使用相同的证书和后端也帮我对此。

客户端------------>代理-------------->后端

仅在esb起始级别中出现此错误

[ESB] [2014-05-29 18:56:19,653] ERROR {org.wso2.carbon.core.deployment.DeploymentInterceptor} -  Error while updating wso2carbon-sts in STSDeploymentInterceptor {org.wso2.carbon.core.deployment.DeploymentInterceptor}
java.lang.NullPointerException
    at org.wso2.carbon.core.util.KeyStoreUtil.getKeyStoreFileName(KeyStoreUtil.java:57)

之后再出现一个错误

ERROR {org.wso2.carbon.tenant.mgt.internal.TenantMgtServiceComponent} -  ******* Tenant Config bundle failed activating **** {org.wso2.carbon.tenant.mgt.internal.TenantMgtServiceComponent}
java.lang.NullPointerException
    at java.util.Hashtable.put(Hashtable.java:514

这是关于https传输

FATAL {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} -  Cannot start transports {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent}
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

先谢谢。

2 个答案:

答案 0 :(得分:2)

您需要在轴配置中启用自定义SSL配置文件。对于特定端点,您可以指定要使用的keystone和信任库。请参阅此帖子:http://nadeeshaan.blogspot.nl/2014/03/enabling-custom-ssl-in-wso2-esb-4.html

答案 1 :(得分:1)

代理目前不支持相互身份验证 - >后端通信。请参阅JIRA问题here