Ssl 在开放式插座上启用TLS(STARTTLS)

Ssl 在开放式插座上启用TLS(STARTTLS),ssl,dart,starttls,dart-io,Ssl,Dart,Starttls,Dart Io,看起来SSL/TLS支持最近已经通过类提供给Dart,这很好 那么比如说这个, SecureSocket.connect(_host, _port).then( (Socket socket) { ... 立即打开启用TLS的套接字。但是,我想做的是打开一个常规(不安全)套接字,首先发送和接收一些未加密的数据,然后在其上启用TLS 以下是如何在PHP中完成此操作: $socket = fsockopen($server, $port, $errno, $er

看起来SSL/TLS支持最近已经通过类提供给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有什么办法吗


编辑:我想我正在寻找的是Dart的实现。

我自己还没有尝试过,但文档中的
secure
方法似乎正是您想要的(假设您想要使用客户端握手,否则请参阅
secureServer
):

未来安全(套接字,{host,
bool sendClientCertificate:false,字符串certificateName,bool
onBadCertificate(X509Certificate)})
接受已连接的套接字并启动客户端TLS握手 使通信安全


作品真不敢相信我在医生身上没看到。谢谢
Future<SecureSocket> secure(Socket socket, {host, 
       bool sendClientCertificate: false, String certificateName, bool
       onBadCertificate(X509Certificate certificate)})