The object containing the certificates to trust when making a secure client connection, and the certificate chain and private key to serve from a secure server.
The SecureSocket and SecureServer
classes take a SecurityContext
as an argument to their connect and bind methods.
Certificates and keys can be added to a SecurityContext from PEM files on the disk. A PEM file contains one or more base-64 encoded DER-serialized ASN1 objects, surrounded with delimiter strings like "-----BEGIN CERTIFICATE -----" and "-----END CERTIFICATE-----". Distinguished encoding rules (DER) is a canonical binary serialization of ASN1 objects into an octet string.
Static Properties
- defaultContext → SecurityContext
-
Secure networking classes with an optional
context
parameter use thedefaultContext
object if the parameter is omitted. This object can also be accessed, and modified, directly. Each isolate has a differentdefaultContext
object. ThedefaultContext
object uses a list of well-known trusted certificate authorities as its trusted roots. This list is taken from Mozilla, who maintains it as part of Firefox.read-only
Constructors
- SecurityContext()
-
factory
Properties
- hashCode → int
-
Get a hash code for this object.…
read-only, inherited - runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Operators
-
operator ==(
other) → bool -
The equality operator.…
inherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.…
inherited -
setAlpnProtocols(
List<String> protocols, bool isServer) → void -
Sets the list of application-level protocols supported by a client connection or server connection. The ALPN (application level protocol negotiation) extension to TLS allows a client to send a list of protocols in the TLS client hello message, and the server to pick one and send the selected one back in its server hello message.…
-
setClientAuthorities(
String file) → void -
Sets the list of authority names that a
SecureServer
will advertise as accepted, when requesting a client certificate from a connecting client.file
is a PEM file containing the accepted signing authority certificates - the authority names are extracted from the certificates. -
setTrustedCertificates(
{String file, String directory}) → void -
Sets the set of trusted X509 certificates used by SecureSocket client connections, when connecting to a secure server.…
-
toString(
) → String -
Returns a string representation of this object.
inherited -
useCertificateChain(
String file) → void -
Sets the chain of X509 certificates served by
SecureServer
when making secure connections, including the server certificate.file
is an PEM file containing X509 certificates, starting with the root authority and intermediate authorities forming the signed chain to the server certificate, and ending with the server certificate. The private key for the server certificate is set by usePrivateKey. -
usePrivateKey(
String keyFile, {String password}) → void -
Sets the private key for a server certificate or client certificate. A secure connection using this SecurityContext will use this key with the server or client certificate to sign and decrypt messages.
keyFile
is a PEM file containing an encrypted private key, encrypted withpassword
. An unencrypted file can be used, but this is not usual.