Espruino:Справочник по API/Библиотека tls/connect(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показаны 3 промежуточные версии 2 участников)
Строка 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">
 
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">
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">
options.key = "key.pem"
</syntaxhighlight>


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


==Описание==
<syntaxhighlight lang="javascript">
options.key = function() { eeprom.load_my_info(); };
</syntaxhighlight>


Более подробно о генерировании и использовании сертификатов читайте [https://engineering.circle.com/https-authorized-certs-with-node-js тут]. Только вам нужно будет использовать 2048-битные сертификаты, а не 4096-битные, как по ссылке выше.


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


== Примеры ==
== Примеры ==
Строка 29: Строка 58:
=См.также=
=См.также=


{{ads}}
 


=Внешние ссылки=
=Внешние ссылки=
Строка 35: Строка 64:
<references />
<references />


{{Навигационная таблица/Espruino}}
{{Навигационная таблица/Портал/Espruino}}
{{Навигационная таблица/Телепорт}}

Текущая версия от 17:03, 10 июня 2023

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


Функция 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).

Примеры

См.также

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