Results 1 to 3 of 3

Thread: .Net client problem with ADH cipher

  1. #1
    aidin36 is offline Registered User
    Name: Aidin Gharibnavaz
    Organization: Tosan
    Project: Banking Solutions
    Join Date
    Dec 2010
    Posts
    5

    .Net client problem with ADH cipher

    I have a problem that I couldn't solve: I want to use ADH cipher for my ssl connection, but it doesn't work. Here's the description:

    System info
    I've got a server written in Python 2.6.4 and running on a GNU/Linux Ubuntu 9.10, and a client written in C# running on a Windows XP - SP2 machine. Client developed using VS2008, and .Net framework 3.5-SP1

    I test it with both Ice-3.3.1 and Ice-3.4.1

    Both on server and client, I compiled Ice from source code.

    Problem
    The problem is that client cannot connect to the server, using a SSL endpoint. Server uses ADH Cipher.

    On the client side I see these lines in the Output:

    Code:
    A first chance exception of type 'System.IO.IOException' occurred in System.dll
    A first chance exception of type 'Ice.ConnectionLostException' occurred in IceSSL.dll
    A first chance exception of type 'Ice.ConnectionLostException' occurred in IceSSL.dll
    A first chance exception of type 'Ice.ConnectionLostException' occurred in Ice.dll
    And on the server side, I get this:

    Code:
    04/25/11 10:37:57.849 Network: failed to establish ssl connection
    local address = 192.168.22.76:9081
    remote address = 192.168.22.77:1254
    TransceiverI.cpp:229: Ice::ProtocolException:
    protocol exception:
    SSL error occurred for new incoming connection:
    remote address = 192.168.22.77:1254
    error # = 336109761
    message = error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher
    location = s3_srvr.c, 1006

    Additional information
    I wrote a test client with Python, and it could connect to the server without any problems. Also on the Windows machine, I could successfully connect to my server using Openssl client, with the following command:

    Code:
    openssl.exe s_client -host 192.168.22.76 -port 9081 -cipher ADH
    But my client cannot connect.

    I even copy/paste all of the DLLs and EXEs of the Ice into my output, and add Ice to Windows PATH, INCLUDE, and LIB. But it seems that it still can't find something.

    I should tell you that if I use TCP, there's not problem at all.

    Code
    Here's my properties on the server side:

    Code:
    URL: "ssl -h %s -p %d" % (host, port)
    
    properties.setProperty('Ice.ThreadPool.Server.Size', '64')
    properties.setProperty('Ice.MessageSizeMax', '10240')
    properties.setProperty('Ice.Override.Compress', '1')
    properties.setProperty('Ice.Plugin.IceSSL', 'IceSSL:createIceSSL')
    properties.setProperty("IceSSL.Ciphers", "ALL:@STRENGTH")
    properties.setProperty("IceSSL.VerifyPeer", "0")
    And on my client side is:

    Code:
    URL = string.Format("{0}:ssl -h {1} -p {2} -z", service, host, port);
    Ice.InitializationData data = new Ice.InitializationData();
    data.properties = Ice.Util.createProperties();
    data.properties.setProperty("Ice.MessageSizeMax", "10240");
    data.properties.setProperty("Ice.Plugin.IceSSL", IceSSL.dll:IceSSL.PluginFactory");
    data.properties.setProperty("IceSSL.Ciphers", "ADH");
    data.properties.setProperty("IceSSL.VerifyPeer", "0");
    data.properties.setProperty("Ice.ThreadPool.Client.Size", "1");
    data.properties.setProperty("Ice.ThreadPool.Client.SizeMax", "1");
    data.properties.setProperty("Ice.Compression.Level", "1");

    Any ideas?
    Thanks in advanced.

  2. #2
    mes's Avatar
    mes
    mes is offline ZeroC Staff
    Name: Mark Spruiell
    Organization: ZeroC, Inc.
    Project: Ice Developer
    Join Date
    Feb 2003
    Location
    California
    Posts
    1,445
    The .NET SslStream class (which is used by the IceSSL implementation) requires certificate-based authentication. Here's a quote from MSDN:

    After creating an SslStream, the server and optionally, the client must be authenticated. The server must provide an X509 certificate that establishes proof of its identity and can request that the client also do so. Authentication must be performed before transmitting information using an SslStream.
    So I'm afraid it's not currently possible to use ADH in .NET.

    Regards,
    Mark

  3. #3
    aidin36 is offline Registered User
    Name: Aidin Gharibnavaz
    Organization: Tosan
    Project: Banking Solutions
    Join Date
    Dec 2010
    Posts
    5
    Thanks a lot for your answer.

    You're right. I can't use ADH in .Net :`(

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 3
    Last Post: 10-27-2009, 05:40 AM
  2. Replies: 6
    Last Post: 09-09-2008, 09:54 AM
  3. problem with server connect client
    By hero107 in forum Help Center
    Replies: 3
    Last Post: 02-20-2006, 07:01 AM
  4. ADH encryption in SSL
    By rhochmuth in forum Help Center
    Replies: 2
    Last Post: 10-05-2005, 01:45 PM
  5. Replies: 3
    Last Post: 02-09-2004, 09:34 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •