エンジン クラスは、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");