)
Constructs a new secure client socket and connect it to the given
host
on port port
. The returned Future will complete with a
SecureSocket that is connected and ready for subscription.
If sendClientCertificate
is set to true, the socket will send a client
certificate if one is requested by the server.
If certificateName
is the nickname of a certificate in the certificate
database, that certificate will be sent.
If certificateName
is null, which is the usual use case, an
appropriate certificate will be searched for in the database and
sent automatically, based on what the server says it will accept.
onBadCertificate
is an optional handler for unverifiable certificates.
The handler receives the X509Certificate, and can inspect it and
decide (or let the user decide) whether to accept
the connection or not. The handler should return true
to continue the SecureSocket connection.
Source
/**
* Constructs a new secure client socket and connect it to the given
* [host] on port [port]. The returned Future will complete with a
* [SecureSocket] that is connected and ready for subscription.
*
* If [sendClientCertificate] is set to true, the socket will send a client
* certificate if one is requested by the server.
*
* If [certificateName] is the nickname of a certificate in the certificate
* database, that certificate will be sent.
*
* If [certificateName] is null, which is the usual use case, an
* appropriate certificate will be searched for in the database and
* sent automatically, based on what the server says it will accept.
*
* [onBadCertificate] is an optional handler for unverifiable certificates.
* The handler receives the [X509Certificate], and can inspect it and
* decide (or let the user decide) whether to accept
* the connection or not. The handler should return true
* to continue the [SecureSocket] connection.
*/
static Future<SecureSocket> connect(
host,
int port,
{bool sendClientCertificate: false,
String certificateName,
bool onBadCertificate(X509Certificate certificate),
List<String> supportedProtocols}) {
return RawSecureSocket.connect(host,
port,
sendClientCertificate: sendClientCertificate,
certificateName: certificateName,
onBadCertificate: onBadCertificate,
supportedProtocols: supportedProtocols)
.then((rawSocket) => new SecureSocket._(rawSocket));
}