security providers and ...
Vladimir Puskas
vpuskas@eunet.yu
Fri Aug 16 12:58:00 GMT 2002
> >i think the cure is:
> >
> >1. to catch the ClassCastException,
> >2. test if the newly instantiated class is an instance of
> >java.security.MessageDigestSpi,
> >3. if it isnt re-throw the exception, otherwise
> >4. wrap the newly instantiated class in a proxy class that channels the
> >MessageDigest calls to the wrapped Spi (inner) class.
> >
> >
> >cheers;
> >rsn
>
> OK, I have noticed the same behaviour, a ClassCastException when
> requesting the MD5 MessageDigest from the "GNU" security provider, but
> please consider :
>
> 1: the gnu security provider works fine in sun jdk1.4.
> I tried to use Reflection to see how it was handled, and it returned the
> type : MessageDigest$Delegate, not just MessageDigest.
>
> 2: It only fails in GCJ in static compiled binaries. I have used the GNU
> MD5 MessageDigest with GCJ compiled binaries, only when i added the
> -static option did i get this error.
>
> I think the problem is buried somewhere else. The MessageDigestSpi class
> is intended (long time ago...) for security providers to implement
> MessageDigest implementations.
>
>
> regards
> Lars Andersen
I wrote previous message rather quickly, and was not aware of sideeffects.
Still bug is out there, or maybe two. My patch is based on
gnu.java.security.provider.SHA, which extends MessageDigest.
Does it mean SHA should extend MessgeDigestSpi too, or they (SHA & MD5) are
unrelated?
V.Puskas
More information about the Java
mailing list