12

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 をこのように使用することは可能ですか、それともSSLEngine を介してオラクルの NIO の代わりにそれぞれの API を使用してプロトコルを書き直す必要がありますか(これは私が現在行っている方法です)。

ここで何か助けてくれてありがとう。

4

3 に答える 3