0

最近、SSL/TLS サポートがSecureSocketクラスを介して Dartに追加されたようです。これは素晴らしいことです。

だから、例えばこれ

SecureSocket.connect(_host, _port).then(
        (Socket socket) {
          ...

TLS が有効になっているソケットをすぐに開きます。ただし、私がやりたいのは、通常の (安全ではない) ソケットを開き、最初に暗号化されていないデータを送受信し、後で TLS を有効にすることです。

PHPでそれを行う方法は次のとおりです。

$socket = fsockopen($server, $port, $errno, $errstr);
// ... do some unencrypted stuff...
stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);

Dartでこれを行う方法はありますか?

編集:私が探しているのは、STARTTLSの Dart 実装だと思います。

4

1 に答える 1

0

私は自分で試したことはありませんが、 SecureSocketsecureドキュメントのメソッドはまさにあなたが探しているものであるように見えます (クライアント側のハンドシェイクを使用したい場合、それ以外の場合は を参照してください)。secureServer

Future<SecureSocket> secure(Socket socket, {host, 
       bool sendClientCertificate: false, String certificateName, bool
       onBadCertificate(X509Certificate certificate)})

すでに接続されているソケットを取得し、クライアント側の TLS ハンドシェイクを開始して、通信を安全にします。

于 2013-07-14T20:13:12.463 に答える