On Thu, 10 Jun 2021 06:59:25 GMT, Dongbo He <[email protected]> wrote:
>> src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
>> line 130:
>>
>>> 128: AlgorithmDecomposer decomposer) {
>>> 129: super(decomposer);
>>> 130: List<String> disabledAlgorithmsList =
>>> getAlgorithms(propertyName);
>>
>> Is it doable to have the getAlgorithms() method return a Set?
>
> The collection required when new Constraints() should retain the default case
> of the elements, because some code will depend on this, for example, .
> [entry.startsWith("keySize")](https://github.com/openjdk/jdk/blob/dd1cbadc82bcecf718b96c833a5845fde79db061/src/java.base/share/classes/sun/security/util/DisabledAlgorithmConstraints.java#L383).
> But the set required by the permits should unify the case of the elements,
> because algorithm may be uppercase or lowercase, but the Set:contains()
> cannot handle this situation.
> So we need to create a new Set that ignores the default case of elements.
For the entry.startsWith("keySize") example, I don't think keySize is an
algorithm that could be listed individually in the list. The "keySize" may be
just a part one algorithm, for example "RSA keySize < 1024".
It's a good point about the lowercase and upper case. Did you check how
constraints like the "keySize" are expressed in the list or set?
-------------
PR: https://git.openjdk.java.net/jdk/pull/4424