This PR updates the cipher transformation parsing and verification logic to be stricter and throws NoSuchAlgorithmException (NSAE) when additional slash(es) is found. With the existing parsing logic, the extra slash(es) is likely to end up in the last component, i.e. the padding scheme, and lead to NoSuchPaddingException (NSPE) from the underlying CipherSpi object.
Out of the supported cipher algorithms for all JDK providers, PBES2 cipher algorithms and RSA cipher with OAEP paddings may contain truncated SHA-512 in their transformations. This proposed fix would check for truncated SHA in both algorithm and padding schemes and throws NSAE if any extra slash is found. Thanks in advance for the review~ ------------- Commit messages: - 8368984: Extra slashes in Cipher transformation leads to NSPE instead of NSAE Changes: https://git.openjdk.org/jdk/pull/27615/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27615&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8368984 Stats: 159 lines in 4 files changed: 46 ins; 45 del; 68 mod Patch: https://git.openjdk.org/jdk/pull/27615.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/27615/head:pull/27615 PR: https://git.openjdk.org/jdk/pull/27615
