Skip to content

Comments

Add JCE support for HmacSHA3 KeyGenerator#150

Merged
rlm2002 merged 1 commit intowolfSSL:masterfrom
cconlon:hmacSha3KeyGenerator
Aug 29, 2025
Merged

Add JCE support for HmacSHA3 KeyGenerator#150
rlm2002 merged 1 commit intowolfSSL:masterfrom
cconlon:hmacSha3KeyGenerator

Conversation

@cconlon
Copy link
Member

@cconlon cconlon commented Aug 28, 2025

This PR implements HmacSHA3 variant support in KeyGenerator. We already had HmacSHA3 support in the Mac class, but not yet in KeyGenerator:

KeyGenerator:
- HmacSHA3-224
- HmacSHA3-256
- HmacSHA3-384
- HmacSHA3-512

JUnit tests are included here for regression. This fixes the OpenJDK SunJCE test: crypto/provider/Mac/MacKAT.java

@cconlon cconlon self-assigned this Aug 28, 2025
@cconlon cconlon requested a review from Copilot August 28, 2025 23:18
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for HmacSHA3 key generation variants to the JCE provider, extending the existing HmacSHA3 support that was already available in the Mac class to include KeyGenerator functionality.

  • Adds four new HmacSHA3 algorithm types (224, 256, 384, 512) to the KeyGenerator enum and implementation
  • Registers new KeyGenerator classes for each HmacSHA3 variant in the WolfCryptProvider
  • Includes comprehensive JUnit tests with feature detection to ensure compatibility with native wolfSSL builds

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
WolfCryptKeyGenerator.java Implements HmacSHA3 algorithm support with new enum values and KeyGenerator classes
WolfCryptProvider.java Registers the new HmacSHA3 KeyGenerator implementations with feature detection
WolfCryptKeyGeneratorTest.java Adds comprehensive test coverage for all four HmacSHA3 variants
README_JCE.md Documents the newly supported HmacSHA3 KeyGenerator algorithms

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@cconlon cconlon assigned rlm2002 and unassigned cconlon Aug 28, 2025
@rlm2002 rlm2002 merged commit da42515 into wolfSSL:master Aug 29, 2025
46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants