エンジン クラスは、SSLEngineソケット ラッピングなしで低レベルの SSL 機能にアクセスする場合にのみ必要です。ただし、 を使用してネットワーク接続を保護したい場合SSLSocketFactory、SSLServerSocketFactoryまたはHttpsURLConnectionクラスでさえも機能する場合があります。
短いコード スニペットの例:
SSLContext sslContext = SSLContext.getInstance("TLS");
SSLSocketFactory sf = sslContext.getSSLSocketFactory();
Socket socket = new Socket();
Socket sslSocket = sf.createSocket(socket, "ssl.example.com", 4443, true);
OutputStream out = sslSocket.getOutputStream();
out.write(/* ... */);
Sun JDK/JRE 実装を使用していない場合、「TLS」アルゴリズムの実装が存在しない可能性がありSSLContext.getInstance、NoSuchAlgorithmException. その場合、BouncyCastle セキュリティ プロバイダーを使用する必要があります。
次の呼び出しで BC プロバイダーを追加できます。
java.security.Security.addProvider(new BouncyCastleProvider());
そして、BC 固有のSSLContext実装をリクエストします。
SSLContext sslContext = SSLContext.getInstance("TLS", "BC");