Модуль ssl
модуль ssl / tls, псевдоним модуля: tls
Объект
Socket
Создавать SslSocket Объект, см. SslSocket
1SslSocket ssl.Socket;
Handler
Создавать SslHandler Объект, см. SslHandler
1SslHandler ssl.Handler;
Server
Создавать SslServer Объект, см. SslServer
1SslServer ssl.Server;
Статическая функция
connect
Создавать SslSocket Возразить и установить соединение
1
2static Stream ssl.connect(String url,
Integer timeout = 0) async;
Параметры звонка:
- url: String, укажите протокол подключения, это может быть: ssl: // host: port
- timeout: Целое число, укажите период ожидания, единица измерения - миллисекунды, по умолчанию - 0.
Результат возврата:
Создавать SslSocket Возразить и установить соединение
1
2
3
4static Stream ssl.connect(String url,
X509Cert crt,
PKey key,
Integer timeout = 0) async;
Параметры звонка:
- url: String, укажите протокол подключения, это может быть: ssl: // host: port
- crt: X509Cert, Сертификат, используемый для отправки на сервер для проверки клиента.
- key: PKey, Закрытый ключ, используемый для разговора с клиентом
- timeout: Целое число, укажите период ожидания, единица измерения - миллисекунды, по умолчанию - 0.
Результат возврата:
setClientCert
Установить сертификат клиента по умолчанию
1
2static ssl.setClientCert(X509Cert crt,
PKey key);
Параметры звонка:
- crt: X509Cert, Сертификат, используемый для отправки на сервер для проверки клиента.
- key: PKey, Закрытый ключ, используемый для разговора с клиентом
loadClientCertFile
Загрузить сертификат клиента по умолчанию из файла
1
2
3static ssl.loadClientCertFile(String crtFile,
String keyFile,
String password = "");
Параметры звонка:
- crtFile: Строка, файл сертификата, используемый для сервера аутентификации клиента
- keyFile: Строка, файл закрытого ключа, используемый для разговора с клиентом.
- password: String, расшифровать пароль
loadRootCerts
Загрузите корневой сертификат по умолчанию, который идет с ним, что эквивалентно ssl.ca.loadRootCerts
1static ssl.loadRootCerts();
Содержание этого сертификата взято из: http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
Статические свойства
ca
X509Cert, Глобальный сертификат, используемый для проверки сертификата сервера в режиме клиента ssl
1static readonly X509Cert ssl.ca;
verification
Целое число, установите режим проверки сертификата, по умолчанию - VERIFY_REQUIRED.
1static Integer ssl.verification;
min_version
Целое число, установить минимальную поддержку версии, по умолчанию ssl3
1static Integer ssl.min_version;
max_version
Целое число, установить поддержку самой высокой версии, по умолчанию tls1_1
1static Integer ssl.max_version;
постоянный
VERIFY_NONE
Режим проверки сертификата, без проверки
1const ssl.VERIFY_NONE = 0;
VERIFY_OPTIONAL
Режим проверки сертификата, дополнительная проверка, допускающая сбой проверки
1const ssl.VERIFY_OPTIONAL = 1;
VERIFY_REQUIRED
Режим проверки сертификата, проверка обязательна, если проверка не удалась, она будет прервана
1const ssl.VERIFY_REQUIRED = 2;
BADCERT_EXPIRED
Результат проверки сертификата, время ожидания сертификата
1const ssl.BADCERT_EXPIRED = 1;
BADCERT_REVOKED
Результат проверки сертификата, сертификат отозван
1const ssl.BADCERT_REVOKED = 2;
BADCERT_CN_MISMATCH
Результат проверки сертификата, неверное название сертификата
1const ssl.BADCERT_CN_MISMATCH = 4;
BADCERT_NOT_TRUSTED
Результат проверки сертификата, сертификат не является доверенным
1const ssl.BADCERT_NOT_TRUSTED = 8;
ssl3
Версия протокола ssl ssl 3.0
1const ssl.ssl3 = 0;
tls1
Версия протокола ssl tls 1.0
1const ssl.tls1 = 1;
tls1_1
Версия протокола ssl tls 1.1
1const ssl.tls1_1 = 2;
tls1_2
Версия протокола ssl tls 1.2
1const ssl.tls1_2 = 3;