8246077: Cloneable test in HmacCore seems questionable

Updated java.security.MessageDigest and Signature classes to return Cloneable obj for Cloneable spi obj

Reviewed-by: weijun, xuelei, coffeys
This commit is contained in:
Valerie Peng 2020-06-15 23:30:49 +00:00
parent c55b06a4d5
commit f968f32789
7 changed files with 377 additions and 32 deletions

View file

@ -75,6 +75,7 @@ abstract class HmacCore extends MacSpi implements Cloneable {
} else {
String noCloneProv = md.getProvider().getName();
// if no Sun provider, use provider list
md = null;
Provider[] provs = Security.getProviders();
for (Provider p : provs) {
try {
@ -90,6 +91,10 @@ abstract class HmacCore extends MacSpi implements Cloneable {
continue;
}
}
if (md == null) {
throw new NoSuchAlgorithmException
("No Cloneable digest found for " + digestAlgo);
}
}
}
this.md = md;