<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 8/15/23 9:54 PM, Cantor, Scott via
      dev wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:ED3F04D6-8959-45C1-AEFB-E31DD7EEF91C@osu.edu">
      <pre class="moz-quote-pre" wrap="">

Whether that leads to a simple fix is a different issue, but that's up to Brent. I will say it seems pretty disadvantageous to me for the package names to be different between them. Unless those classes are programmatically loaded, not sure how that's going to fly. I assume they aren't now, or this wouldn't be a compile time dependency problem.</pre>
    </blockquote>
    <p><br>
    </p>
    <p>They aren't currently loaded reflectively, if that's what you
      mean.</p>
    <p>I currently personally know nothing of FIPS compliance, so the
      concrete requirements here are just a mystery to me at this point.
      But in general:<br>
    </p>
    <p>If it ever gets to the point of us trying to support FIPS
      properly, we'd really need to nail down what the actual ask is
      here, what is "good enough for FIPS users", etc.  Right now the
      kludges people are doing are just avoiding runtime errors for
      things they apparently aren't currently using anyway.</p>
    <p>But to do it properly, we might actually have to make all of that
      stuff work with the BC FIPS dependency.  As in, they might
      actually want to use ConcatKDF with ECDH.  Or even EC keys period,
      which is what most of the ECNamedCurve* and EC5Util dependence is
      about (consuming and emitting KeyInfo structures).</p>
    <p>So, we might have to have separate modules in java-opensaml and
      elsewhere, for FIPS vs non-FIPS.  We might have to have then
      different distributions of the IdP. Etc.  Could get complicated.<br>
    </p>
    <p>And then there's the fact (that we apparently just had to deal
      with, again) that the BC folks make completely breaking changes in
      any release, i.e. no concept of minor or patch releases ala
      semantic versioning, etc.  So there's no guarantee at all over
      time that the class named X in the non-FIPS artifact really has
      the same API as class X in the FIPS artifact. Or which classes
      exist in one and not the other. Etc.</p>
  </body>
</html>