包含在建立安全客户端连接时信任的证书以及从安全服务器提供的服务证书链和私钥的对象。
SecureSocket 和 SecureServerSocket 类将这些连接和绑定方法视为 SecurityContext 参数。
可以将证书和密钥从 PEM 或 PKCS12 容器中添加到 SecurityContext。
iOS 注意:尚未实现一些添加、删除和检查证书的方法。但是,可以通过 SecurityContext.defaultContext 使用平台内置的受信任证书。
构造函数
- SecurityContext({bool withTrustedRoots = false})
- 创建一个新的 SecurityContext。工厂
属性
- allowLegacyUnsafeRenegotiation ↔ bool
- 如果
true
,则 SecurityContext 将允许 TLS 重协商。重协商仅支持作为客户端,且 HelloRequest 必须在应用协议的安静点接收。这对于支持(非分段)HTTP/1.1 中的 HTTP 请求和响应之间请求新旧客户端证书的旧行为足够。注意:重协商是一个极端有问题的协议特性,只在已知环境安全时才应与其旧的客户端进行通信。getter/setter 对 - hashCode → int
- 此对象的哈希码。无设置器继承
- runtimeType → Type
- 对象运行时类型的表示。无设置器继承
方法
-
no Such Method(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。继承
-
setAlpnProtocols(
List< String> protocols, bool isServer) → void - 设置客户端连接或服务器连接支持的应用层协议列表。ALPN(应用层协议协商)TLS 扩展允许客户端在 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
- 大多数需要使用默认安全上下文操作的默认安全上下文。无设置器