Espruino:Справочник по API/Библиотека tls/connect(): различия между версиями
Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 7: | Строка 7: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
require("tls").connect(options, callback) | require("tls").connect(options, callback) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 26: | Строка 26: | ||
В объекте options также могут быть заданы поля ca, key и cert, которые будут расшифрованным содержимым сертификата. | В объекте options также могут быть заданы поля ca, key и cert, которые будут расшифрованным содержимым сертификата. | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
var options = url.parse("localhost:1234"); | var options = url.parse("localhost:1234"); | ||
options.key = atob("MIIJKQ ... OZs08C"); | options.key = atob("MIIJKQ ... OZs08C"); | ||
Строка 38: | Строка 38: | ||
Вы можете также: просто задать название файла (<= 100 символов), и если к Espruino подключена SD-карта, этот файл будет загружен и пропарсен. Например: | Вы можете также: просто задать название файла (<= 100 символов), и если к Espruino подключена SD-карта, этот файл будет загружен и пропарсен. Например: | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
options.key = "key.pem" | options.key = "key.pem" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 44: | Строка 44: | ||
Также задайте функцию, которая будет вызываться, чтобы извлечь данные. Например: | Также задайте функцию, которая будет вызываться, чтобы извлечь данные. Например: | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
options.key = function() { eeprom.load_my_info(); }; | options.key = function() { eeprom.load_my_info(); }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 50: | Строка 50: | ||
Более подробно о генерировании и использовании сертификатов читайте [https://engineering.circle.com/https-authorized-certs-with-node-js тут]. Только вам нужно будет использовать 2048-битные сертификаты, а не 4096-битные, как по ссылке выше. | Более подробно о генерировании и использовании сертификатов читайте [https://engineering.circle.com/https-authorized-certs-with-node-js тут]. Только вам нужно будет использовать 2048-битные сертификаты, а не 4096-битные, как по ссылке выше. | ||
{{Примечание1|Эта функция доступна только для устройств с поддержкой TLS и SSL (к их числу относятся только Espruino Pico и Espruino WiFi).}} | |||
== Примеры == | == Примеры == |
Текущая версия от 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-битные, как по ссылке выше.
Примеры
См.также
Внешние ссылки