SecureSocket class

A high-level class for communicating securely over a TCP socket, using TLS and SSL. The SecureSocket exposes both a Stream and an IOSink interface, making it ideal for using together with other ...

A high-level class for communicating securely over a TCP socket, using TLS and SSL. The SecureSocket exposes both a Stream and an IOSink interface, making it ideal for using together with other Streams.

Implements:

Static Methods

connect ( host, int port, {bool sendClientCertificate: false, String certificateName, bool onBadCertificate(X509Certificate certificate), List<String> supportedProtocols} ) → Future<SecureSocket>
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.
secure ( Socket socket, {host, bool sendClientCertificate: false, String certificateName, bool onBadCertificate(X509Certificate certificate)} ) → Future<SecureSocket>
Takes an already connected socket and starts client side TLS handshake to make the communication secure. When the returned future completes the SecureSocket has completed the TLS handshake. Using ...
secureServer ( Socket socket, String certificateName, {List<int> bufferedData, bool requestClientCertificate: false, bool requireClientCertificate: false, List<String> supportedProtocols} ) → Future<SecureSocket>
Takes an already connected socket and starts server side TLS handshake to make the communication secure. When the returned future completes the SecureSocket has completed the TLS handshake. Using ...
initialize ( {String database, String password, bool useBuiltinRoots: true} ) → void
Initializes the NSS library. If initialize is not called, the library is automatically initialized as if initialize were called with no arguments. If initialize is called more than once, or call...

Instance Properties

peerCertificate X509Certificate
read-only
selectedProtocol String
read-only
encoding Encoding Inherited
read/write
The Encoding used when writing strings. Depending on the underlying consumer this property might be mutable.
remotePort int Inherited
read-only
last Future<List<int>> Inherited
read-only
single Future<List<int>> Inherited
read-only
length Future<int> Inherited
read-only
done Future Inherited
read-only
isEmpty Future<bool> Inherited
read-only
isBroadcast bool Inherited
read-only
remoteAddress InternetAddress Inherited
read-only
address InternetAddress Inherited
read-only
port int Inherited
read-only
first Future<List<int>> Inherited
read-only

Instance Methods

renegotiate ( {bool useSessionCache: true, bool requestClientCertificate: false, bool requireClientCertificate: false} ) → void
Renegotiate an existing secure connection, renewing the session keys and possibly changing the connection properties.
writeCharCode Inherited ( int charCode ) → void
Writes the charCode to this.
take Inherited ( int count ) → Stream<List<int>>
Provides at most the first n values of this stream.
map Inherited ( dynamic convert(T event) ) → Stream
Creates a new stream that converts each element of this stream to a new value using the convert function.
listen Inherited ( void onData(T event), {Function onError, void onDone(), bool cancelOnError} ) → StreamSubscription<List<int>>
Adds a subscription to this stream.
timeout Inherited ( Duration timeLimit, {void onTimeout(EventSink sink)} ) → Stream
Creates a new stream with the same events as this stream.
distinct Inherited ( [bool equals(T previous, T next)] ) → Stream<List<int>>
Skips data events if they are equal to the previous data event.
addStream Inherited ( Stream<List<int>> stream ) → Future
Adds all elements of the given stream to this.
toSet Inherited ( ) → Future<Set<List<int>>>
Collects the data of this stream in a Set.
forEach Inherited ( void action(T element) ) → Future
Executes action on each data event of the stream.
skipWhile Inherited ( bool test(T element) ) → Stream<List<int>>
Skip data events from this stream while they are matched by test.
writeln Inherited ( [Object obj = ""] ) → void
Converts obj to a String by invoking Object.toString and writes the result to this, followed by a newline.
join Inherited ( [String separator = ""] ) → Future<String>
Collects string of data events' string representations.
flush Inherited ( ) → Future
Returns a Future that completes once all buffered data is accepted by the to underlying StreamConsumer.
setOption Inherited ( SocketOption option, bool enabled ) → bool
Use setOption to customize the RawSocket. See SocketOption for available options.
addError Inherited ( error, [StackTrace stackTrace] ) → void
Passes the error to the target consumer as an error event.
lastWhere Inherited ( bool test(T element), {Object defaultValue()} ) → Future
Finds the last element in this stream matching test.
handleError Inherited ( Function onError, {bool test(error)} ) → Stream<List<int>>
Creates a wrapper Stream that intercepts some errors from this stream.
reduce Inherited ( T combine(T previous, T element) ) → Future<List<int>>
Reduces a sequence of values by repeatedly applying combine.
transform Inherited ( StreamTransformer<List<int>> streamTransformer ) → Stream
Chains this stream as the input of the provided StreamTransformer.
any Inherited ( bool test(T element) ) → Future<bool>
Checks whether test accepts any element provided by this stream.
every Inherited ( bool test(T element) ) → Future<bool>
Checks whether test accepts all elements provided by this stream.
where Inherited ( bool test(T event) ) → Stream<List<int>>
Creates a new stream from this stream that discards some data events.
skip Inherited ( int count ) → Stream<List<int>>
Skips the first count data events from this stream.
expand Inherited ( Iterable convert(T value) ) → Stream
Creates a new stream from this stream that converts each element into zero or more events.
elementAt Inherited ( int index ) → Future<List<int>>
Returns the value of the indexth data event of this stream.
pipe Inherited ( StreamConsumer<List<int>> streamConsumer ) → Future
Pipe the events of this stream into streamConsumer.
takeWhile Inherited ( bool test(T element) ) → Stream<List<int>>
Forwards data events while test is successful.
write Inherited ( Object obj ) → void
Converts obj to a String by invoking Object.toString and adds the encoding of the result to the target consumer.
fold Inherited ( initialValue, dynamic combine(previous, T element) ) → Future
Reduces a sequence of values by repeatedly applying combine.
firstWhere Inherited ( bool test(T element), {Object defaultValue()} ) → Future
Finds the first element of this stream matching test.
contains Inherited ( Object needle ) → Future<bool>
Checks whether needle occurs in the elements provided by this stream.
writeAll Inherited ( Iterable objects, [String separator = ""] ) → void
Iterates over the given objects and writes them in sequence.
asyncExpand Inherited ( Stream convert(T event) ) → Stream
Creates a new stream with the events of a stream per original event.
add Inherited ( List<int> data ) → void
Adds data to the target consumer, ignoring encoding.
singleWhere Inherited ( bool test(T element) ) → Future<List<int>>
Finds the single element in this stream matching test.
drain Inherited ( [futureValue] ) → Future
Discards all data on the stream, but signals when it's done or an error occured.
close Inherited ( ) → Future
Close the target consumer.
asyncMap Inherited ( dynamic convert(T event) ) → Stream
Creates a new stream with each data event of this stream asynchronously mapped to a new event.
destroy Inherited ( ) → void
Destroy the socket in both directions. Calling destroy will make the send a close event on the stream and will no longer react on data being piped to it.
toList Inherited ( ) → Future<List<List<int>>>
Collects the data of this stream in a List.
asBroadcastStream Inherited ( {void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription)} ) → Stream<List<int>>
Returns a multi-subscription stream that produces the same events as this.