From 4e8f331a80fdfbf3b73ad12b41920fcf4f242275 Mon Sep 17 00:00:00 2001 From: John Jiang Date: Thu, 20 Jul 2023 21:48:19 +0000 Subject: [PATCH] 8312443: sun.security should use toLowerCase(Locale.ROOT) Reviewed-by: xuelei --- .../classes/sun/security/action/GetPropertyAction.java | 5 +++-- .../share/classes/sun/security/ec/ParametersMap.java | 7 ++++--- .../share/classes/sun/security/ec/XECParameters.java | 3 +-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/java.base/share/classes/sun/security/action/GetPropertyAction.java b/src/java.base/share/classes/sun/security/action/GetPropertyAction.java index 7b1757e46a0..8768cc3e0f2 100644 --- a/src/java.base/share/classes/sun/security/action/GetPropertyAction.java +++ b/src/java.base/share/classes/sun/security/action/GetPropertyAction.java @@ -27,6 +27,7 @@ package sun.security.action; import java.security.AccessController; import java.security.PrivilegedAction; +import java.util.Locale; import java.util.Properties; import sun.security.util.Debug; @@ -194,10 +195,10 @@ public class GetPropertyAction implements PrivilegedAction { // the original value in rawPropVal for debug messages. boolean isMillis = false; String propVal = rawPropVal; - if (rawPropVal.toLowerCase().endsWith("ms")) { + if (rawPropVal.toLowerCase(Locale.ROOT).endsWith("ms")) { propVal = rawPropVal.substring(0, rawPropVal.length() - 2); isMillis = true; - } else if (rawPropVal.toLowerCase().endsWith("s")) { + } else if (rawPropVal.toLowerCase(Locale.ROOT).endsWith("s")) { propVal = rawPropVal.substring(0, rawPropVal.length() - 1); } diff --git a/src/java.base/share/classes/sun/security/ec/ParametersMap.java b/src/java.base/share/classes/sun/security/ec/ParametersMap.java index c5af8fe3234..0bed1463a21 100644 --- a/src/java.base/share/classes/sun/security/ec/ParametersMap.java +++ b/src/java.base/share/classes/sun/security/ec/ParametersMap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,6 +31,7 @@ import sun.security.x509.AlgorithmId; import java.security.spec.AlgorithmParameterSpec; import java.security.spec.NamedParameterSpec; import java.util.Collections; +import java.util.Locale; import java.util.Map; import java.util.HashMap; import java.util.Optional; @@ -53,7 +54,7 @@ public class ParametersMap { } public void put(String name, ObjectIdentifier oid, int size, T params) { - nameMap.put(name.toLowerCase(), params); + nameMap.put(name.toLowerCase(Locale.ROOT), params); oidMap.put(oid, params); sizeMap.put(size, params); } @@ -65,7 +66,7 @@ public class ParametersMap { return Optional.ofNullable(sizeMap.get(size)); } public Optional getByName(String name) { - return Optional.ofNullable(nameMap.get(name.toLowerCase())); + return Optional.ofNullable(nameMap.get(name.toLowerCase(Locale.ROOT))); } // Utility method that is used by the methods below to handle exception diff --git a/src/java.base/share/classes/sun/security/ec/XECParameters.java b/src/java.base/share/classes/sun/security/ec/XECParameters.java index 4879398378a..ac0589cd438 100644 --- a/src/java.base/share/classes/sun/security/ec/XECParameters.java +++ b/src/java.base/share/classes/sun/security/ec/XECParameters.java @@ -137,7 +137,7 @@ public class XECParameters { ObjectIdentifier oid = ObjectIdentifier.of(koid); XECParameters params = new XECParameters(bits, p, a24, basePoint, logCofactor, oid, name); - namedParams.put(name.toLowerCase(), oid, bits, params); + namedParams.put(name, oid, bits, params); return params; } @@ -170,4 +170,3 @@ public class XECParameters { return namedParams.get(exception, params); } } -