public static <T> T call(Supplier<T> task) {
        lock.lock();
        try {
            boolean needToAdd = true;
            for (Provider provider : Security.getProviders()) {
                if (provider instanceof MinifiedBouncyCastleProvider) {
                    needToAdd = false;
                    break;
                }
            }

            if (needToAdd) {
                Security.addProvider(new MinifiedBouncyCastleProvider());
                try {
                    return task.get();
                } finally {
                    Security.removeProvider(PROVIDER_NAME);
                }
            } else {
                return task.get();
            }
        } finally {
            lock.unlock();
        }
    }
Invokes the specified {@link Supplier} with {@link MinifiedBouncyCastleProvider} enabled temporarily.
core/src/main/java/com/linecorp/armeria/internal/common/util/MinifiedBouncyCastleProvider.java