Bug 2108712

Summary: Backport SHA3 support for SunPKCS11 provider
Product: Red Hat Enterprise Linux 8 Reporter: Mike Millson <mmillson>
Component: java-11-openjdkAssignee: Martin Balao <mbalao>
Status: CLOSED CURRENTRELEASE QA Contact: OpenJDK QA <java-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: ---CC: ahughes, fferrari, jandrlik, sfroberg, zzambers
Target Milestone: rcKeywords: Triaged, ZStream
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: java-11-openjdk-11.0.19.0.7-4.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2190091 (view as bug list) Environment:
Last Closed: 2023-07-17 15:59:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2190091    

Description Mike Millson 2022-07-19 18:40:37 UTC
The following test program runs on OpenJDK17:

///// KeyGeneratorTest.java \\\\\

import javax.crypto.KeyGenerator;
public class KeyGeneratorTest {
        public static void main(String[] args) throws Exception {
                KeyGenerator kg = KeyGenerator.getInstance("HmacSHA1");                
                System.out.println(kg);
                System.out.println("KeyGenerator provider: " + kg.getProvider().getName());
        }
}

But fails on OpenJDK11 with the following exeption:

$ java KeyGeneratorTest
Exception in thread "main" java.security.NoSuchAlgorithmException: HmacSHA1 KeyGenerator not available
	at java.base/javax.crypto.KeyGenerator.<init>(KeyGenerator.java:177)
	at java.base/javax.crypto.KeyGenerator.getInstance(KeyGenerator.java:244)
	at KeyGeneratorTest.main(KeyGeneratorTest.java:5)

I believe this is due to the following functionality in OpenJDK17:
Add SHA3 support to SunPKCS11 provider
https://bugs.openjdk.org/browse/JDK-8242332

Can we backport this to OpenJDK11?