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

Reply via email to