Espruino:Справочник по API/Библиотека tls/connect()

Материал из Онлайн справочника
Версия от 17:03, 10 июня 2023; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция tls.connect()[1]

Синтаксис

require("tls").connect(options, callback)

Параметры

  • options – объект, содержащий поля host,port
  • callback – функция, которая будет вызвана при создании соединения. Затем можно будет вызвать res.on('data', function(data) { ... }) и res.on('close', function() { ... }), чтобы обработать ответ

Возвращаемое значение

Новый объект net.Socket.

Описание

Создает сокетное соединение при помощи TLS.

В объекте options также могут быть заданы поля ca, key и cert, которые будут расшифрованным содержимым сертификата.

var options = url.parse("localhost:1234");
options.key = atob("MIIJKQ ... OZs08C");
options.cert = atob("MIIFi ... Uf93rN+");
options.ca = atob("MIIFgDCC ... GosQML4sc=");
require("tls").connect(options, ... );

Если ваши сертификаты имеют расширение «.pem», вам нужно будет загрузить эти файлы, взять информацию между строчками, начинающимися с «----», удалить все символы новой строки (чтобы у вас получился чистый base64-формат), а затем передать это в atob, как показано выше.

Вы можете также: просто задать название файла (<= 100 символов), и если к Espruino подключена SD-карта, этот файл будет загружен и пропарсен. Например:

options.key = "key.pem"

Также задайте функцию, которая будет вызываться, чтобы извлечь данные. Например:

options.key = function() { eeprom.load_my_info(); };

Более подробно о генерировании и использовании сертификатов читайте тут. Только вам нужно будет использовать 2048-битные сертификаты, а не 4096-битные, как по ссылке выше.

Примечание

Эта функция доступна только для устройств с поддержкой TLS и SSL (к их числу относятся только Espruino Pico и Espruino WiFi).

Примеры

См.также

Внешние ссылки