SecurityContext抽象 最终

包含用于建立安全客户端连接时信任的证书、证书链和用于从安全服务器提供服务的私钥的对象。

SecureSocketSecureServerSocket 类将 SecurityContext 作为其 connect 和 bind 方法的参数。

可以从 PEM 或 PKCS12 容器中将证书和密钥添加到 SecurityContext。

iOS 注意:尚未实现添加、删除和检查证书的一些方法。但是,可以通过 SecurityContext.defaultContext 使用平台内置的信任证书。

构造函数

SecurityContext({bool withTrustedRoots = false})
创建一个新的 SecurityContext
工厂

属性

allowLegacyUnsafeRenegotiation bool
如果为 true,则 SecurityContext 将允许 TLS 重协商。重协商仅作为客户端支持,HelloRequest 必须在应用程序协议的安静点接收。这足以支持在 (unpipelined) HTTP/1.1 请求和响应之间请求新的客户端证书的旧使用案例。注意:重协商是一个极其有问题的协议功能,仅应在已知安全的环境中与旧服务器通信时使用。
getter/setter 对
hashCode int
此对象的哈希码。
无设置器继承
minimumTlsProtocolVersion TlsProtocolVersion
建立安全连接时使用的最小 TLS 版本。
getter/setter 对
runtimeType Type
对象的运行时类型的表示。
无设置器继承

方法

noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
setAlpnProtocols(List<String> protocols, bool isServer) → void
设置客户端连接或服务器连接支持的应用层协议列表。TLS中的ALPN(应用层协议协商)扩展允许客户端在TLS客户端hello消息中发送协议列表,服务器从中选择一个,并在其服务器hello消息中发送所选的协议。
setClientAuthorities(String file, {String? password}) → void
设置在从连接的客户端请求客户端证书时,SecureServerSocket将作为已接受广告的权限名称列表。
setClientAuthoritiesBytes(List<int> authCertBytes, {String? password}) → void
设置在请求连接客户端的客户端证书时,SecureServerSocket将作为已接受广告的权限名称列表。
setTrustedCertificates(String file, {String? password}) → void
将证书添加到SecureSocket客户端连接使用的受信任X509证书集合中。
setTrustedCertificatesBytes(List<int> certBytes, {String? password}) → void
将证书添加到SecureSocket客户端连接使用的受信任X509证书集合中。
toString() String
此对象的一个字符串表示。
继承
useCertificateChain(String file, {String? password}) → void
设置SecureServerSocket在建立安全连接时提供的X509证书链,包括服务器证书。
useCertificateChainBytes(List<int> chainBytes, {String? password}) → void
设置SecureServerSocket在建立安全连接时提供的X509证书链,包括服务器证书。
usePrivateKey(String file, {String? password}) → void
设置服务器证书或客户端证书的私钥。
usePrivateKeyBytes(List<int> keyBytes, {String? password}) → void
设置服务器证书或客户端证书的私钥。

运算符

operator ==(Object other) bool
等号运算符。
继承

静态属性

alpnSupported bool
平台是否支持ALPN。这始终返回true,将在未来的版本中删除。
无设置器
defaultContext SecurityContext
默认安全上下文,用于大多数需要的安全操作。
无设置器