[9] RFR 8157579: com/sun/crypto/provider/Mac/MacClone.java failed on solaris12(sparcv9 and x86)
Sean Mullan
sean.mullan at oracle.com
Tue Aug 9 17:43:22 UTC 2016
Or better yet, just change the ucrypto impl to not implement Cloneable
regardless what Solaris version you are on. Then you can just check each
MessageDigest impl to see if it is an instanceof Cloneable rather than
calling clone on each.
--Sean
On 08/09/2016 09:38 AM, Sean Mullan wrote:
> Is there any way to split the Ucrypto MessageDigest implementation into
> 2 classes, one that implements Cloneable and the other which doesn't,
> and use the appropriate one depending on which OS version you are on?
>
> This way, instead of calling clone and catching
> CloneNotSupportedException, you could just check each MessageDigest
> object to see if it implements Cloneable.
>
> --Sean
>
>
> On 08/04/2016 10:01 PM, Valerie Peng wrote:
>>
>> Anyone has time to review this fix? The code change is in only one file
>> and straightforward if you agree with the approach.
>> Starting S11.3 and S12, OracleUcrypto provider switched to new Ucrypto
>> APIs for message digest operations and there is no clone support.
>> This affects the MAC impls of SunJCE provider which delegates the digest
>> operation to the most preferred provider.
>> To ensure the clone support, I will switch to getting the digest impl
>> from SUN provider if the most preferred one does not.
>> In the case of SUN provider is not available, it will then goes through
>> provider list.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8157579
>> Webrev: http://cr.openjdk.java.net/~valeriep/8157579/webrev.00/
>>
>> No new test as it's covered by existing regression test.
>>
>> Thanks,
>> Valerie
>>
>>
More information about the security-dev
mailing list