You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "Tamás Hanicz (Jira)" <ji...@apache.org> on 2026/07/16 04:46:00 UTC

[jira] [Resolved] (KNOX-3361) Route OpenSAML off BouncyCastle in FIPS mode

     [ https://issues.apache.org/jira/browse/KNOX-3361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tamás Hanicz resolved KNOX-3361.
--------------------------------
    Resolution: Fixed

> Route OpenSAML off BouncyCastle in FIPS mode
> --------------------------------------------
>
>                 Key: KNOX-3361
>                 URL: https://issues.apache.org/jira/browse/KNOX-3361
>             Project: Apache Knox
>          Issue Type: Task
>          Components: Server
>    Affects Versions: 3.0.0
>            Reporter: Tamás Hanicz
>            Assignee: Tamás Hanicz
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> OpenSAML library uses non-FIPS compliant BouncyCastle dependencies.
> New {{gateway-shim-opensaml-security-api}} module: a shaded drop-in for {{org.opensaml:opensaml-security-api}} that swaps upstream's GlobalNamedCurveRegistryInitializer for a Knox-owned wrapper. When Knox is running on a FIPS cluster, the wrapper short-circuits SPI-driven EC curve registration so {{AbstractNamedCurve.initialize()}} never invokes {{org.bouncycastle.jce.ECNamedCurveTable}} — preventing BouncyCastle EC code from executing. In non-FIPS deployments the wrapper delegates to the upstream initializer, preserving unmodified OpenSAML behavior.
> ECDH-ES-encrypted SAML assertion decryption is not supported in FIPS mode (empty NamedCurveRegistry). RSA-signed and RSA-OAEP-encrypted SAML flows work identically in FIPS and non-FIPS.
> This solution builds on what [elasticsearch|https://github.com/elastic/elasticsearch/pull/98199] did, however for Knox it acts based on being on FIPS cluster or not.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)