[omniORB] openORB-1.3.1 SSL client

Ben Cullen Ben.Cullen at trema.com
Thu Feb 23 13:51:29 GMT 2006


An IOR from an openORB server looks like:
Profiles:
1. IIOP 1.2 xxx.xx.xx.xxx 1255 ".OO.H.......POA.DQ..."
            TAG_CODE_SETS char native code set: 0x100204e4
                          char conversion code set: 0x0001000f,
ISO-8859-1, 0x00010020
                          wchar native code set: UTF-16
                          wchar conversion code set: 0x00010100

            TAG_SSL_SEC_TRANS port = 7777 supports = 231 requires = 102

Note the supports and requires components compared to the hardcoded 96
in an omni IOR.

I tried with an omniORB non-zero port, however openORB tries to only
connect to the TCP port and fails.

I hacked the omniORB hardcoded supports/requires 96's to the openORB
preferred 231/102:
CORBA::Boolean
sslTransportImpl::addToIOR(const char* param) {

  IIOP::Address address;
  if (parseAddress(param,address)) {
    // XXX, hardwared security options to:
    //       EstablishTrustInTarget (0x20) | EstablishTrustInClient
(0x40)
    // In future, this will be expanded configurable options.
    omniIOR::add_TAG_SSL_SEC_TRANS(address,0xe7,0x66);
    return 1;
  }
  return 0;
}

Now I get an SSL handshake dialogue, however the connection ultimately
fails due to an unknown certificate:
omniORB: openSSL error detected in sslEndpoint::accept.
Reason: error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert
certificate unknown

From what I gather the supports/requires value of 96 means client and
server authentication, i.e. no SSL:
64 client authentication
32 server authentication
2 integrity
4 confidentiality

I'm interested in doing server authentication only over SSL, and
therefore require 38. I guess this requires an omniORB enhancement?

Cheers, Ben


-----Original Message-----
From: Duncan Grisby [mailto:duncan at grisby.org] 
Sent: 21 February 2006 13:01
To: Ben Cullen
Cc: omniorb-list at omniorb-support.com
Subject: Re: [omniORB] openORB-1.3.1 SSL client 

On Monday 20 February, "Ben Cullen" wrote:

> I'm currently trying to get an openORB-1.3.1 SSL client talking to 
> omniORB-4.0.5.

[...]
> 1. IIOP 1.2 xxx.xx.xx.xxx 0
> ".xxxxxxxxxxxxxxxxxxxxxxxxxxxxx....C...<....."
>             TAG_ORB_TYPE omniORB
>             TAG_CODE_SETS char native code set: ISO-8859-1
>                           char conversion code set: UTF-8
>                           wchar native code set: UTF-16
>                           wchar conversion code set: UTF-16
> 
>             TAG_SSL_SEC_TRANS port = 7777 supports = 96 requires = 96
> 
> 
> When I run my openORB client it appears to get upset at the zero port,

> and spits out the following exception:
> CORBA Exception : org.omg.CORBA.NO_PERMISSION: Port number published 
> in IOR is 0.  vmcid: 0x444f7000  minor code: 280  completed: No

The IOR is valid. The way the SSL profile is defined, it just contains a
port number, not a host address. It therefore only works in combination
with a non-ssl IIOP profile that gives a host address. Since the server
doesn't want to support TCP, it sets the port to zero to mean that it's
not available.

What does an IOR from an openORB server look like?

One thing you might try is to force omniORB to publish a port number
other than zero, and hope the client isn't upset that it's not
listening. To do that, you can use the endPointNoListen parameter:

endPoint = giop:ssl::7777
endPointNoListen = giop:tcp:xxx.xxx.xxx.xxx:7778

Note that you must include the IP address (or hostname) in the
endPointNoListen.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --




Privileged or confidential information may be contained in this message.  If you are not the addressee of this message please notify the sender by return and thereafter delete the message, and you may not use, copy, disclose or rely on the information contained in it. Internet e-mail may be susceptible to data corruption, interception and unauthorised amendment for which Trema does not accept liability. Whilst we have taken reasonable precautions to ensure that this e-mail and any attachments have been swept for viruses, Trema does not accept liability for any damage sustained as a result of viruses.  Statements in this message or attachments that do not relate to the business of Trema are neither given nor endorsed by the company or its directors. A list of Trema's directors is available on our web site: www.trema.com



More information about the omniORB-list mailing list