Dain Sundstrom wrote:

On Aug 30, 2005, at 4:42 PM, David Jencks wrote:

On Aug 30, 2005, at 4:38 PM, Bruce Snyder wrote:

On 8/30/05, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:

In Apache Geronino and dependencies like OpenEJB, (and probably  other
projects at the ASF...)  we are using an external project known as
'bouncycastle' (http://www.bouncycastle.org/) , a fairly well known
implementation of crypto-related stuff in Java.

Inside the distro jar from bouncycastle is an implementation of the
IDEA algorithm.  This algorithm is patented, and the patent holder,
MediaCrypt, requires licenses for all implementations of IDEA, and
there's no unfettered use - even non-commercial distribution  requires
some kind of correspondence with MediaCrypt.

http://www.mediacrypt.com/

You have to find the license section...

So, here's the problem - I don't believe either Geronimo or OpenEJB
is using the algorithm explicitly but I can't be sure that it isn't
invoked somewhere, and statements from the MediaCrypt site such as

"Requests by freeware developers to obtain a royalty-free license to
spread an application program containing the algorithm not for
commercial purposes must be directed to MediaCrypt"

make me believe that we have to do something to redistribute this
software.

(I can't help noting how the infinitive "to spread" makes the GPL's
language on "distribution" look clear.. :)

Of course, there are other terms for commercial users.

So, what should we do?


How about asking the Bouncy Castle people for some advice on what to
do? They're distributing the artifacts affected by these statements
from MediaCrypt, what do they recommend to their user base regarding
redistribution and use?


Good idea. Alternatively for our use, it looks like the directory project has its own asn1 implementation. IIUC that is all we use in the openejb corba code. Can we sidestep this problem by using the directory's asn1 implementation?


Kresten, does the proposed Trifork ORB donation include the asn1 code necessary for CORBA security?

I've been digging through the code trying to understand how/why the asn1 code is getting used. It appears the BC code is just being used to encode/decode X509 names for transport-level security. This is done in two places:

1)  the mech_oid field in the SECIOP_SEC_TRANS structure, and
2)  SAS_ContextSec supported_naming_mechanisms array.

These fields are just defined as opaque byte[] items, so I suspect any encoding is acceptable as long as it is used symmetrically. The BC asn1 support has APIs for encoding/decoding X509 names, so it was convenient to use here. There does not appear to be any crypto engine involvement in this process. It appears the need here is not for asn1 support, but rather the ability to consistently encode OIDs which are in an X509 name format.


-dain



Reply via email to