バウンシーキャッスルTLSライブラリを使用して、ソケットを使用してサーバーとクライアントの間で通信したいと考えています。私は多くのドキュメントを調べましたが(私には不十分でした)、これを行う方法がわかりませんでした。
BouncyCastle v1.7.48 (ランタイム バージョン = v2.0.50727) バイナリを使用しており、これらの情報を見つけました。
Org.BouncyCastle.Crypto.Tls
名前空間とTlsProtocolHandler
クラスを使用する必要があります。
TLS 通信を実現するには、
- サーバー側でどの API を使用すればよいですか?
クライアント側でどの API を使用すればよいですか?
System.IO.Stream inputStream, outputStream; TlsProtocolHandler tls = new TlsProtocolHandler(inputStream, outputStream);
パラメータ
inputStream
とは何outputStream
ですか?
public virtual void Connect(TlsClient tlsClient);
ここで、TlsClient
はインターフェイスであり、内部に多くのインターフェイスが含まれています。
4. 上記の API の使用方法は? 新しいクラスを宣言し、その中にメソッドを実装する必要がありますか?
この弾む城で私を助けてください。
編集 1:
という抽象クラスから継承する 1 つのクラスを作成しましたDefaultTlsClient
。次に、クラスのインスタンスを作成し、それをインターフェイス参照用に渡します。したがって、このようにパラメーターを送信できます。tls.Connect(tlsClient);
上記以外のパラメーターは初期化していません。(2055 ではこれらの操作の前にソケットが接続されています) しかし、ハンドシェイクが完了しているかどうかはわかりません。私のプログラムは読み取り状態になります。