So it seems like we need to bail on BC.

I haven't seen anything from OpenEJB on this - David, would it be possible to a) stop making IDEA a possibility, and b) use something else for the ASN1 encoding/decoding? Can the directory project's library be enhanced?

geir

On Sep 6, 2005, at 6:04 AM, Rick McGuire wrote:

Aaron Mulder (JIRA) wrote:


[ http://issues.apache.org/jira/browse/GERONIMO-880? page=comments#action_12322586 ]
Aaron Mulder commented on GERONIMO-880:
---------------------------------------

Whatever we do to disable it, there should be a procedure to enable it if you happen to have a license or whatever. That is to say, if we disable it in OpenEJB, it should probably be via a properties file listing allowed algorithms or something, which the admin could add IDEA to if they believe it's appropriate. If we distribute a lesser JAR, then it should be easy enough to provide directions on how to replace it with the full JAR.


There are two separate issues here: 1) The jar file containing the IDEA code, and 2) The hardcoded enabling of the IDEA algorithms in SSLCipherSuiteDatabase. The combination of these two can lead to inadvertent use (and unknown) use of the IDEA algorithms. A more appropriate solution would have SSLCipherSuiteDatabase take the supported algorithms from a property file or GBean properties, thus allowing user customization if they choose to move to a fuller function jar file.

I've also done a little reseach on the bc code. The IDEA algorithm is not the only patent protected algorithm where royalties for commercial use are required. the RC5 and RC6 algorithms are also patent protected, and the Skipjack algorithm is patent pending.

Rick




Geronimo ships patent-protected bouncycastle IDEA implementation.
-----------------------------------------------------------------

        Key: GERONIMO-880
        URL: http://issues.apache.org/jira/browse/GERONIMO-880
    Project: Geronimo
       Type: Bug
 Components: console, OpenEJB
Environment: All
   Reporter: Rick McGuire
    Fix For: 1.0
Attachments: IDEAEngine.java

Current Geronimo is shipping the full bouncycastle jar file, which includes an implementation of the IDEA encryption algorithm. Additionally, the openejb code explicitly includes the IDEA algorithm in its supported cryptography suite. The IDEA algorithm is a bit problematic, since the royalty agreement is for non-commercial use only...royalties are expected for commercial use. It's not clear what the definition of commercial use would actually be, but any user building a commercial website with Geronimo might be at risk for a patent claim just from the presence of the code. Additionally, since there is no way to explicitly enable or discable the IDEA suite, a user might be using the code for commercial purposes without even knowing it. The presence of this code is also a problem for any companies wishing to embed Geronimo in a commercial offering. Having this code in the Geronomo base would probably kick in the commercial uses clause and make those companies subject to royalties. The IDEA code code in bouncycastle is not easily removed because the encryption engines are not dyamically loaded. It would be a simple matter to replace the IDEA engine class with a simple one that merely threw an exception (see attached class). The openejb code probably needs to remove the IDEA algorithms from the supported list as well.







--
Geir Magnusson Jr                                  +1-203-665-6437
[EMAIL PROTECTED]


Reply via email to