Skip to content

Generate BCFKS truststore in strict FIPS#50149

Merged
rmartinc merged 9 commits into
keycloak:mainfrom
slaskawi:50110/fips_trust_store
Jul 24, 2026
Merged

Generate BCFKS truststore in strict FIPS#50149
rmartinc merged 9 commits into
keycloak:mainfrom
slaskawi:50110/fips_trust_store

Conversation

@slaskawi

@slaskawi slaskawi commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

This Pull Request changes the way the automatic Trust Store is generated in FIPS (strict) mode.

Highlights:

  • Generate BCFKS system truststores in strict FIPS mode
  • Keep PKCS12 generation for default mode
  • Add PKCS12 and FIPS BCFKS coverage

Related tickets

Fixes #50110

Functional tests

Verified against the UDS Core: defenseunicorns/uds-identity-config#882

Comment thread docs/documentation/upgrading/topics/changes/changes-26_7_0.adoc Outdated
Comment thread services/src/main/java/org/keycloak/truststore/TruststoreBuilder.java Outdated
Signed-off-by: Sebastian Łaskawiec <sebastian.laskawiec@defenseunicorns.com>
@slaskawi
slaskawi force-pushed the 50110/fips_trust_store branch from 37d5e6b to 639fe7d Compare June 20, 2026 08:44
@slaskawi slaskawi changed the title [WIP] Generate BCFKS truststore in strict FIPS Generate BCFKS truststore in strict FIPS Jun 22, 2026
@slaskawi
slaskawi marked this pull request as ready for review June 22, 2026 05:58
@slaskawi
slaskawi requested a review from a team as a code owner June 22, 2026 05:58
Copilot AI review requested due to automatic review settings June 22, 2026 05:58
@slaskawi
slaskawi requested a review from a team as a code owner June 22, 2026 05:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 13 out of 15 changed files in this pull request and generated 2 comments.

Comment thread docs/guides/server/keycloak-truststore.adoc Outdated
Comment thread docs/documentation/upgrading/topics/changes/changes-26_7_0.adoc Outdated

@shawkins shawkins left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @slaskawi, just a couple of initial thoughts.

Comment thread common/src/main/java/org/keycloak/common/crypto/CryptoProvider.java Outdated
Comment thread docs/documentation/release_notes/topics/26_7_0.adoc
Comment thread common/src/main/java/org/keycloak/common/crypto/CryptoProvider.java
Comment thread common/src/main/java/org/keycloak/common/crypto/CryptoProvider.java Outdated
@slaskawi
slaskawi requested review from a team as code owners June 26, 2026 06:12
@slaskawi
slaskawi force-pushed the 50110/fips_trust_store branch from b244141 to 53cd261 Compare June 26, 2026 06:40
@slaskawi
slaskawi force-pushed the 50110/fips_trust_store branch from 53cd261 to af06e3a Compare June 26, 2026 07:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 14 out of 16 changed files in this pull request and generated no new comments.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 14 out of 16 changed files in this pull request and generated no new comments.

@slaskawi

Copy link
Copy Markdown
Contributor Author

@shawkins Feedback addressed. We're ready for the next round of reviews.

@shawkins shawkins left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you for the updates and follow-up issue @slaskawi

Just a couple of new questions / comments.

Comment thread services/src/main/java/org/keycloak/truststore/TruststoreBuilder.java Outdated
Comment thread quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/KeycloakRecorder.java Outdated
Comment thread common/src/main/java/org/keycloak/common/crypto/CryptoProvider.java
Copilot AI review requested due to automatic review settings July 14, 2026 09:00
Signed-off-by: Sebastian Łaskawiec <sebastian.laskawiec@defenseunicorns.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 14 out of 16 changed files in this pull request and generated 1 comment.

Comment thread docs/guides/server/keycloak-truststore.adoc Outdated

@slaskawi slaskawi left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the comments @shawkins ! All of them should be addressed now and I also got rid of the enum ordering (which felt a bit weird).

Please let me know if we need any more changes.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Sebastian Łaskawiec <sebastian.laskawiec@gmail.com>
Copilot AI review requested due to automatic review settings July 14, 2026 09:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

shawkins
shawkins previously approved these changes Jul 14, 2026

@shawkins shawkins left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, thanks @slaskawi

Let's see if we can get another review - cc @vmuzikar @rmartinc

Comment thread docs/documentation/release_notes/topics/26_7_0.adoc Outdated
Signed-off-by: Steven Hawkins <shawkins@redhat.com>

@shawkins shawkins left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM with the cleanup of the notes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 14 out of 16 changed files in this pull request and generated 1 comment.

Comment thread common/src/main/java/org/keycloak/common/crypto/CryptoProvider.java

@rmartinc rmartinc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @slaskawi and @shawkins! LGTM!

@rmartinc
rmartinc merged commit 1c8445f into keycloak:main Jul 24, 2026
94 checks passed
@slaskawi

Copy link
Copy Markdown
Contributor Author

You’re absolute rock stars, @rmartinc @shawkins !

Thank you for reviewing this Pull Request and fixing this small bit that somehow got it! I highly appreciate you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Keycloak doesn't honor --https-trust-store-type when automatically creating the Trust Store

5 participants