This works in our axis2c.xml:
<transportSender name="https" class="axis2_http_sender">
<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
<parameter name="xml-declaration" insert="false"/>
</transportSender>
<parameter name="SERVER_CERT">/path/ca-file.pem</parameter>
<parameter name="KEY_FILE">/path/client.pem</parameter>

If you deploy to windows, be sure to use a fully qualified paths.

Cheers!
Steve
----- Original Message ----- From: "Kevin H (JIRA)" <[email protected]>
To: <[email protected]>
Sent: Tuesday, June 28, 2011 5:31 PM
Subject: [jira] [Updated] (AXIS2C-1550) HTTPS using axis2c.xml or embedded axis2 lib does not work with SSL authentication?



[ https://issues.apache.org/jira/browse/AXIS2C-1550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin H updated AXIS2C-1550:
----------------------------

   Description:
Hi all,

I have followed this instruction here to set up an https request (client) to a server but encountered error. I am not sure why. Basically i found that the changes to axis2.xml is needed while the changes to the C codes doesnt make any effect. However, the changes to axis2.xml still does not get me thru the SSL authentication.

The instruction is here:

http://people.apache.org/~dumindu/docs/HowToConfigureSSL.html

I basically have the CA cert, the key, and the client cert in 3 different files. The instruction said i needed to "cat" the client cert and the key to 1 same file, which i did.

On another attempt, I did manage to write my own client codes (using libcurl) with these credentials which connects OK to the server. But somehow the axis2c client service does not work.

In details, the changes i made are these:

In axis2c.xml:

Enable https both in receiver and sender:

<transportReceiver name="https" class="axis2_http_receiver">
       <parameter name="port" locked="false">6060</parameter>
       <parameter name="exposeHeaders" locked="true">false</parameter>
</transportReceiver>

<transportSender name="https" class="axis2_http_sender">
       <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
       <parameter name="xml-declaration" insert="false"/>
       <parameter name="SERVER_CERT">/path/ca-file.pem</parameter>
       <parameter name="KEY_FILE">/path/client.pem</parameter>
</transportSender>

My understanding is this is all i need to make the transport layer carry the credentials, which are needed for the server to handshake/authenticate this client code.

But the error i get from the logs is like this:

[Fri Jun 24 17:56:56 2011] [error] libcurl/axis2_libcurl.c(538) NSS: client certificate not found (nickname not specified) [Fri Jun 24 17:56:56 2011] [error] libcurl/axis2_libcurl.c(540) Error occurred in transport [Fri Jun 24 17:56:56 2011] [error] engine.c(179) Transport sender invoke failed

I wonder what i did wrong? Any help is greatly appreciated.

 was:
Hi all,

I have followed this instruction here to set up an https request (client) to a server but encountered error. I am not sure why. Basically i found that the changes to axis2.xml is needed while the changes to the C codes doesnt make any effect. However, the changes to axis2.xml still does not get me thru the SSL authentication.

The instruction is here:

http://damithakumarage.wordpress.com/

I basically have the CA cert, the key, and the client cert in 3 different files. The instruction said i needed to "cat" the client cert and the key to 1 same file, which i did.

On another attempt, I did manage to write my own client codes (using libcurl) with these credentials which connects OK to the server. But somehow the axis2c client service does not work.

In details, the changes i made are these:

In axis2c.xml:

Enable https both in receiver and sender:

<transportReceiver name="https" class="axis2_http_receiver">
       <parameter name="port" locked="false">6060</parameter>
       <parameter name="exposeHeaders" locked="true">false</parameter>
</transportReceiver>

<transportSender name="https" class="axis2_http_sender">
       <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
       <parameter name="xml-declaration" insert="false"/>
       <parameter name="SERVER_CERT">/path/ca-file.pem</parameter>
       <parameter name="KEY_FILE">/path/client.pem</parameter>
</transportSender>

My understanding is this is all i need to make the transport layer carry the credentials, which are needed for the server to handshake/authenticate this client code.

But the error i get from the logs is like this:

[Fri Jun 24 17:56:56 2011] [error] libcurl/axis2_libcurl.c(538) NSS: client certificate not found (nickname not specified) [Fri Jun 24 17:56:56 2011] [error] libcurl/axis2_libcurl.c(540) Error occurred in transport [Fri Jun 24 17:56:56 2011] [error] engine.c(179) Transport sender invoke failed

I wonder what i did wrong? Any help is greatly appreciated.


HTTPS using axis2c.xml or embedded axis2 lib does not work with SSL authentication?
-----------------------------------------------------------------------------------

                Key: AXIS2C-1550
                URL: https://issues.apache.org/jira/browse/AXIS2C-1550
            Project: Axis2-C
         Issue Type: Bug
           Reporter: Kevin H

Hi all,
I have followed this instruction here to set up an https request (client) to a server but encountered error. I am not sure why. Basically i found that the changes to axis2.xml is needed while the changes to the C codes doesnt make any effect. However, the changes to axis2.xml still does not get me thru the SSL authentication.
The instruction is here:
http://people.apache.org/~dumindu/docs/HowToConfigureSSL.html
I basically have the CA cert, the key, and the client cert in 3 different files. The instruction said i needed to "cat" the client cert and the key to 1 same file, which i did. On another attempt, I did manage to write my own client codes (using libcurl) with these credentials which connects OK to the server. But somehow the axis2c client service does not work.
In details, the changes i made are these:
In axis2c.xml:
Enable https both in receiver and sender:
<transportReceiver name="https" class="axis2_http_receiver">
        <parameter name="port" locked="false">6060</parameter>
        <parameter name="exposeHeaders" locked="true">false</parameter>
</transportReceiver>
<transportSender name="https" class="axis2_http_sender">
        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
        <parameter name="xml-declaration" insert="false"/>
        <parameter name="SERVER_CERT">/path/ca-file.pem</parameter>
        <parameter name="KEY_FILE">/path/client.pem</parameter>
</transportSender>
My understanding is this is all i need to make the transport layer carry the credentials, which are needed for the server to handshake/authenticate this client code.
But the error i get from the logs is like this:
[Fri Jun 24 17:56:56 2011] [error] libcurl/axis2_libcurl.c(538) NSS: client certificate not found (nickname not specified) [Fri Jun 24 17:56:56 2011] [error] libcurl/axis2_libcurl.c(540) Error occurred in transport [Fri Jun 24 17:56:56 2011] [error] engine.c(179) Transport sender invoke failed
I wonder what i did wrong? Any help is greatly appreciated.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]






---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to