создать экземпляр SSLContext с помощью поставщика Bouncy Castle

Я застрял в создании SSLContext (который я хочу использовать для создания экземпляра SSLEngine для обработки зашифрованного транспорта через java-nio):

Код

String protocol = "TLSv1.2";
Provider provider = new BouncyCastleProvider();
Security.addProvider(provider);
sslContext = SSLContext.getInstance(protocol,provider.getName());

выдает следующее исключение:

Exception in thread "main" java.lang.RuntimeException: java.security.NoSuchAlgorithmException: no such algorithm: SSL for provider BC
at org.bitmash.network.tcp.ssl.SslTransferFactory.<init>(SslTransferFactory.java:43)
at org.bitmash.network.http.HttpsServer.<init>(HttpsServer.java:19)

Я прикрепил текущий пакет провайдера Bouncy Castle 'bcprov-jdk15on-150.jar' (который я получил отВот) к пути к классам приложений, а также к пути к ним (через VM-Option -Xbootclasspath / p), но ни одна из них не решила проблему. Я также пробовал разные значения дляprotocol (т.е. "SSL" и "TLSv1") без какого-либо эффекта.

Также я нашел людей с похожими проблемамиВот а такжеВот, Но в отличие от них, я нацеливаюсь (и использую) Java 7 (или выше), но у меня все еще есть эта проблема. Можно ли вообще использовать Bouncy Castle таким образом, или мне нужно переписать свой протокол, используя соответствующий API вместо оракула?NIO через SSLEngine (каким образом я делаю это прямо сейчас)?

Большое спасибо за любую помощь здесь.

Ответы на вопрос(2)

Ваш ответ на вопрос