Code review request, 7106773: 512 bits RSA key cannot work with SHA384 and SHA512
Xuelei Fan
xuelei.fan at oracle.com
Mon Nov 21 12:05:05 UTC 2011
webrev: http://cr.openjdk.java.net/~xuelei/7106773/webrev.03/
On 11/21/2011 4:34 PM, Weijun Wang wrote:
> I removed most of the thread and keep some sections below:
>
> On 11/21/2011 03:30 PM, Xuelei Fan wrote:
>> new webrev: http://cr.openjdk.java.net/~xuelei/7106773/webrev.02/
>
> What is synchronized for? Why only on the for block? This won't prevent
> map iteration and insertion at the same time.
>
You're right. The SynchronizedMap is not necessary. Changed to use
normal hash map, and synchronizing the map in both iteration and
insertion block.
>>
>>>
>>> Another solution is to define a new interface:
>>> package sun.security.util;
>>> public interface Measurable {
>>> public int getLength();
>>> }
>>>
>>> And updated P11Key and MSCPI Key accordingly to implement the
>>> Measureable interface:
>>> package sun.security.pkcs11;
>>> ...
>>> - abstract class P11Key implements Key, Measurable {
>>> + abstract class P11Key implements Key {
>>> ...
>>> - int keyLength() {
>>> + public int getLength() {
>>> ...
>>> }
>>>
>>> It is similar for MSCAPI Key.
>
> How about this approach? This looks very safe.
>
I also prefer this approach, although it need more updates in PKCS11 and
MSCPI source code. If you vote for this approach, I will try to
implement it.
Thanks,
Xuelei
>>>
>>>>>>
>>>>>> Calling getDeclaredMethod each time is a waste. How about just
>>>>>>
>>>>>> while (clazz != null) {
>>>>>> if (clazz.getName().equals(baseClassName)) {
>>>>>> // do sth
>>>>>> break;
>>>>>> }
>>>>>> clazz = clazz.getSuperclass();
>>>>>> }
>>>>>>
>>>>>> Also, you're using methods in reflection. Is it faster to use fields?
>>>>>>
>>>>> I also concerns about the override of the target method, although
>>>>> there
>>>>> is no such override at present. From some reports, it seems that
>>>>> fields
>>>>> reflection cost more cycles than method reflection.
>
> You mentioned "concerns about the override of the target method".
>
> Thanks
> Max
More information about the security-dev
mailing list