Espruino:Справочник по API/Библиотека tls/connect(): различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[https://www.espruino.com/Reference#l_tls_connect www.espruino.com - require("tls").connect(options, callback)]</ref>= | =Функция tls.connect()<ref>[https://www.espruino.com/Reference#l_tls_connect www.espruino.com - require("tls").connect(options, callback)]</ref>= | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript" enclose="div"> | <syntaxhighlight lang="javascript" enclose="div"> | ||
require("tls").connect(options, callback) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Параметры== | ==Параметры== | ||
* '''options''' – объект, содержащий поля host,port | |||
* '''callback''' – функция, которая будет вызвана при создании соединения. Затем можно будет вызвать res.on('data', function(data) { ... }) и res.on('close', function() { ... }), чтобы обработать ответ | |||
==Возвращаемое значение== | |||
== | Новый объект net.Socket. | ||
==Описание== | |||
Создает сокетное соединение при помощи TLS. | |||
В объекте options также могут быть заданы поля ca, key и cert, которые будут расшифрованным содержимым сертификата. | |||
<syntaxhighlight lang="javascript" enclose="div"> | |||
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, ... ); | |||
</syntaxhighlight> | |||
Если ваши сертификаты имеют расширение «.pem», вам нужно будет загрузить эти файлы, взять информацию между строчками, начинающимися с «----», удалить все символы новой строки (чтобы у вас получился чистый base64-формат), а затем передать это в atob, как показано выше. | |||
Вы можете также: просто задать название файла (<= 100 символов), и если к Espruino подключена SD-карта, этот файл будет загружен и пропарсен. Например: | |||
<syntaxhighlight lang="javascript" enclose="div"> | |||
options.key = "key.pem" | |||
</syntaxhighlight> | |||
Также задайте функцию, которая будет вызываться, чтобы извлечь данные. Например: | |||
== | <syntaxhighlight lang="javascript" enclose="div"> | ||
options.key = function() { eeprom.load_my_info(); }; | |||
</syntaxhighlight> | |||
Более подробно о генерировании и использовании сертификатов читайте [https://engineering.circle.com/https-authorized-certs-with-node-js тут]. Только вам нужно будет использовать 2048-битные сертификаты, а не 4096-битные, как по ссылке выше. | |||
'''Примечание:''' Эта функция доступна только для устройств с поддержкой TLS и SSL (к их числу относятся только Espruino Pico и Espruino WiFi). | |||
== Примеры == | == Примеры == |
Версия от 16:05, 28 февраля 2021
Функция 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).
Примеры
См.также
Внешние ссылки