SecurityContext class

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 SecureServerSocket classes take a SecurityContext as an argument to their connect and bind methods.

Certificates and keys can be added to a SecurityContext from either PEM or PKCS12 containers.

iOS note: Some methods to add, remove, and inspect certificates are not yet implemented. However, the platform's built-in trusted certificates can be used, by way of SecurityContext.defaultContext.

Constructors

SecurityContext({bool withTrustedRoots = false})
factory
Creates a new SecurityContext. [...]

Properties

hashCodeint
read-only, inherited
The hash code for this object. [...]
runtimeTypeType
read-only, inherited
A representation of the runtime type of the object.

Methods

noSuchMethod(Invocation invocation) → dynamic
inherited
Invoked when a non-existent method or property is accessed. [...]
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, {String? password}) → void
Sets the list of authority names that a SecureServerSocket will advertise as accepted when requesting a client certificate from a connecting client. [...]
setClientAuthoritiesBytes(List<int> authCertBytes, {String? password}) → void
Sets the list of authority names that a SecureServerSocket will advertise as accepted, when requesting a client certificate from a connecting client. [...]
setTrustedCertificates(String file, {String? password}) → void
Sets the set of trusted X509 certificates used by SecureSocket client connections, when connecting to a secure server. [...]
setTrustedCertificatesBytes(List<int> certBytes, {String? password}) → void
Sets the set of trusted X509 certificates used by SecureSocket client connections, when connecting to a secure server. [...]
toString() → String
inherited
A string representation of this object. [...]
useCertificateChain(String file, {String? password}) → void
Sets the chain of X509 certificates served by SecureServerSocket when making secure connections, including the server certificate. [...]
useCertificateChainBytes(List<int> chainBytes, {String? password}) → void
Sets the chain of X509 certificates served by SecureServerSocket when making secure connections, including the server certificate. [...]
usePrivateKey(String file, {String? password}) → void
Sets the private key for a server certificate or client certificate. [...]
usePrivateKeyBytes(List<int> keyBytes, {String? password}) → void
Sets the private key for a server certificate or client certificate. [...]

Operators

operator ==(Object other) → bool
inherited
The equality operator. [...]

Static Properties

alpnSupportedbool
read-only
Whether the platform supports ALPN. This always returns true and will be removed in a future release.
defaultContextSecurityContext
read-only
The default security context used by most operation requiring one. [...]

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-io/SecurityContext-class.html