8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error

Reviewed-by: mschoene, ascarpino, coffeys, rhalade, weijun
This commit is contained in:
Valerie Peng 2022-11-10 17:56:33 +00:00 committed by Henry Jen
parent bd324cee9c
commit 0f925fefdf
5 changed files with 128 additions and 65 deletions

View file

@ -33,7 +33,7 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.crypto.spec.DHParameterSpec;
import static sun.security.util.SecurityProviderConstants.getDefDHPrivateExpSize;
import sun.security.util.SafeDHParameterSpec;
/**
* Predefined default DH ephemeral parameters.
@ -282,8 +282,7 @@ final class PredefinedDHParameterSpecs {
BigInteger g = new BigInteger(baseGenerator, 16);
int primeLen = p.bitLength();
DHParameterSpec spec = new DHParameterSpec(p, g,
getDefDHPrivateExpSize(primeLen));
DHParameterSpec spec = new DHParameterSpec(p, g);
defaultParams.put(primeLen, spec);
}
} else if (SSLLogger.isOn && SSLLogger.isOn("sslctx")) {
@ -295,8 +294,7 @@ final class PredefinedDHParameterSpecs {
Map<Integer,DHParameterSpec> tempFFDHEs = new HashMap<>();
for (BigInteger p : ffdhePrimes) {
int primeLen = p.bitLength();
DHParameterSpec dhps = new DHParameterSpec(p, BigInteger.TWO,
getDefDHPrivateExpSize(primeLen));
DHParameterSpec dhps = new SafeDHParameterSpec(p, BigInteger.TWO);
tempFFDHEs.put(primeLen, dhps);
defaultParams.putIfAbsent(primeLen, dhps);
}
@ -304,8 +302,8 @@ final class PredefinedDHParameterSpecs {
for (BigInteger p : supportedPrimes) {
int primeLen = p.bitLength();
if (defaultParams.get(primeLen) == null) {
defaultParams.put(primeLen, new DHParameterSpec(p,
BigInteger.TWO, getDefDHPrivateExpSize(primeLen)));
defaultParams.put(primeLen, new SafeDHParameterSpec(p,
BigInteger.TWO));
}
}