包含用于建立安全客户端连接时信任的证书、证书链和用于从安全服务器提供服务的私钥的对象。
SecureSocket 和 SecureServerSocket 类将 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
- 默认安全上下文,用于大多数需要的安全操作。无设置器