Я создаю библиотеку Java, которая зависит от FIPS-совместимого Bouncy Castle, но я также хочу, чтобы эта же библиотека была совместима с обычным Bouncy Castle
Я знаю, что буду в конечном итоге мы получим два пакета, которые будут опубликованы в Maven, аналогично тому, как java-webauthn-server создает свой минимальный jar-файл, который не зависит от Bouncy Castle.
Итак, мой вопрос в том, что такое правильный способ создания кода, который может создавать экземпляр той или иной версии провайдера в зависимости от версии библиотеки.
Вот мой код, который я использую для создания экземпляра провайдера:
//import org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
import org.bouncycastle.jce.provider.BouncyCastleProvider
...
// Provider provider = new BouncyCastleFipsProvider()
Provider provider = new BouncyCastleProvider()
...
Подробнее здесь: https://stackoverflow.com/questions/709 ... ncy-castle