Класс SecurityContext
Объект, содержащий сертификаты для доверия при создании защищённого клиентского соединения, а также цепочку сертификатов и закрытый ключ для предоставления защищённым серверным соединением.
Классы SecureSocket и SecureServerSocket принимают SecurityContext в качестве аргумента для своих методов connect и bind.
Сертификаты и ключи могут быть добавлены в SecurityContext из контейнеров PEM или PKCS12.
Примечание для iOS: Некоторые методы добавления, удаления и проверки сертификатов пока не реализованы. Однако можно использовать встроенные доверенные сертификаты платформы, используя SecurityContext.defaultContext.
Конструкторы
- SecurityContext({bool withTrustedRoots = false}) factory
- Создаёт новый SecurityContext.
Свойства
- allowLegacyUnsafeRenegotiation ↔ bool чтение / запись
- Если
true, SecurityContext позволит переподключиться TLS. Переподключение поддерживается только в качестве клиента, и HelloRequest должен быть получен в спокойный момент протокола приложения. Это достаточно для поддержки устаревшего случая запроса нового клиентского сертификата между запросом HTTP и ответом в (непотокеном) HTTP/1.1. ПРИМЕЧАНИЕ: Переподключение — крайне проблемная функция протокола и должна использоваться только для связи со старыми серверами в средах, где известно, что это безопасно. - hashCode → int только для чтения, унаследованное
- Код хеширования этого объекта.
- runtimeType → Type только для чтения, унаследованное
- Представление типа объекта во время выполнения.
Методы
- noSuchMethod(
Invocation invocation) → dynamic унаследованное - Вызывается при обращении к несуществующему методу или свойству.
- setAlpnProtocols(
List< String> protocols, bool isServer) → void - Устанавливает список протоколов прикладного уровня, поддерживаемых клиентским или серверным соединением. Расширение ALPN (переговоры о протоколе прикладного уровня) для TLS позволяет клиенту отправлять список протоколов в сообщении TLS client hello, а серверу выбрать один и отправить выбранный протокол обратно в сообщении server hello.
- setClientAuthorities(
String file, {String? password}) → void - Устанавливает список имён авторитетов, которые SecureServerSocket будет рекламировать как принятые при запросе клиентского сертификата от подключающегося клиента.
- setClientAuthoritiesBytes(
List< int> authCertBytes, {String? password}) → void - Устанавливает список имён авторитетов, которые SecureServerSocket будет рекламировать как принятые при запросе клиентского сертификата от подключающегося клиента.
- setTrustedCertificates(
String file, {String? password}) → void - Добавляет сертификат в набор доверенных сертификатов X509, используемых клиентами SecureSocket.
- setTrustedCertificatesBytes(
List< int> certBytes, {String? password}) → void - Добавляет сертификат в набор доверенных сертификатов X509, используемых клиентами SecureSocket.
- toString(
) → String унаследованное - Строковое представление этого объекта.
- useCertificateChain(
String file, {String? password}) → void - Устанавливает цепочку сертификатов X509, предоставляемых SecureServerSocket при установлении защищённых соединений, включая сертификат сервера.
- useCertificateChainBytes(
List< int> chainBytes, {String? password}) → void - Устанавливает цепочку сертификатов X509, предоставляемых SecureServerSocket при установлении защищённых соединений, включая сертификат сервера.
- usePrivateKey(
String file, {String? password}) → void - Устанавливает закрытый ключ для сертификата сервера или клиентского сертификата.
- usePrivateKeyBytes(
List< int> keyBytes, {String? password}) → void - Устанавливает закрытый ключ для сертификата сервера или клиентского сертификата.
Операторы
- operator ==(
Object other) → bool унаследованное - Оператор равенства.
Статические свойства
- alpnSupported → bool только для чтения
- Поддерживается ли ALPN на платформе. Эта функция всегда возвращает true и будет удалена в будущей версии.
- defaultContext → SecurityContext только для чтения
- По умолчанию SecurityContext, используемый большинством операций, требующих его.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-io/SecurityContext-class.html