您的位置:首页 > 理论基础 > 计算机网络

wso2esb--https服务配置

2016-03-19 20:54 465 查看
wso2esb使用自己的证书进行https代理服务的配置时,需要修改相应的配置文件,并把证书移动到esb的证书目录下。

1.准备工作
服务端:
将生成的server.keystore和root.truststore拷贝到 $ESB_HOME/repository/resources/security/ 目录下。

客户端:
如有必要,需要将root.crt导入到信任库中(eclipse中为$JRE_HOME\lib\security\cacerts -alias root)
keytool -import -file root.crt -keystore $JRE_HOME\lib\security\cacerts -alias root

2.配置文件修改
修改配置文件:$ESB_HOME/repository/conf/axis2/axis2.xml
修改” Transport Ins”模块中 < transportReceive name="https" >值:

<transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">

<parameter name="port" locked="false">8243</parameter>

<parameter name="non-blocking" locked="false">true</parameter>

<parameter name="bind-address" locked="false">api.dimain.cn</parameter>

<parameter name="WSDLEPRPrefix" locked="false">https://api.domain.cn:8243</parameter>

<parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>

<parameter name="keystore" locked="false">

<KeyStore>

<Location>repository/resources/security/server.keystore</Location>

<Type>JKS</Type>

<Password>1234567</Password>

<KeyPassword>1234567</KeyPassword>

</KeyStore>

</parameter>

<parameter name="truststore" locked="false">

<TrustStore>

<Location>repository/resources/security/root.truststore</Location>

<Type>JKS</Type>

<Password>1234567</Password>

</TrustStore>

</parameter>

<parameter name="SSLVerifyClient">require</parameter>

</transportReceiver>

需要将Keystore和Truststore的配置修改为自建的证书。
配置文件修改完成后,重启esb。

3.HTTPS代理服务配置
配置代码如下:
<?xml version="1.0" encoding="UTF-8"?>

<proxy xmlns="http://ws.apache.org/ns/synapse"

name="SSLTest"

transports="https,http"

statistics="enable"

trace="enable"

startOnLoad="true">

<target>

<inSequence>

<log level="full"/>

</inSequence>

<outSequence>

<log level="full"/>

<send/>

</outSequence>

<faultSequence>

<makefault version="pox">

<reason expression="get-property('ERROR_MESSAGE')"/>

</makefault>

<log/>

<send/>

</faultSequence>

<endpoint>

<address uri="http://101.41.12.176:10021">

<timeout>

<duration>10000</duration>

<responseAction>fault</responseAction>

</timeout>

<suspendOnFailure>

<errorCodes>101508,101503,101504</errorCodes>

<initialDuration>15000</initialDuration>

<progressionFactor>1.0</progressionFactor>

<maximumDuration>30000</maximumDuration>

</suspendOnFailure>

</address>

</endpoint>

</target>

<parameter name="enableMTOM">false</parameter>

<description/>

</proxy>

4.测试
Linux下使用Openssl s_client测试
执行如下命令:
openssl s_client -showcerts -cert ./certification/client.pem -connect
api.domain.cn:8243

Windows平台Java客户端模拟测试
网上下载的java代码,修改keystore、truststore指向对应的证书。

注意:
client.keystore作为秘钥库
root.trustore 作为信任库
即可。

注:以上测试,使用的是自签证书。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: