@nodertc/dtls

数据报传输层安全性(DTLS)客户端。「Datagram Transport Layer Security (DTLS) client.」

Github星跟蹤圖

@nodertc/dtls

使用纯 js 实现的基于数据报传输层安全协议版本 1.2 进行安全的 UDP 通信。 遵循RFC6347RFC7627

特性

  • 没有本地依赖!
  • 现代安全密码(默认情况下)
  • 进出分片/进出重传
  • 合并传出的握手

用法

npm i @nodertc/dtls
const dtls = require('@nodertc/dtls');
const socket = dtls.connect({
  type: 'udp4',
  remotePort: 4444,
  remoteAddress: '127.0.0.1',
});
socket.on('error', err => {
  console.error(err);
});
socket.on('data', data => {
  console.log('got message "%s"', data.toString('ascii'));
  socket.close();
});
socket.once('connect', () => {
  socket.write('Hello from Node.js!');
});

支持的密码:

  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (nodejs v11.2+ only)
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (nodejs v11.2+ only)
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 (nodejs v11.2+ only)
  • TLS_PSK_WITH_AES_128_GCM_SHA256
  • TLS_PSK_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256

API

请参考自述文件。

如何调试?

启动 dtls 服务器:

docker run -it --name dtlsd --rm -e <span class="pl-s"><span class="pl-pds">"</span>GNUTLS_DEBUG_LEVEL=2<span class="pl-pds">"</span></span> -e <span class="pl-s"><span class="pl-pds">"</span>PRIORITY=NORMAL:+AEAD:+ECDHE-RSA:+VERS-DTLS1.2<span class="pl-pds">"</span></span> -e <span class="pl-s"><span class="pl-pds">"</span>KEYFILE=key-rsa.pem<span class="pl-pds">"</span></span> -e <span class="pl-s"><span class="pl-pds">"</span>CERTFILE=cert-rsa.pem<span class="pl-pds">"</span></span> -p 4444:4444/udp nodertc/dtls-server:1

启动缺省客户端

npm start

许可

MIT, 2018 - 2019 © Dmitriy Tsvettsikh


(The first version translated by vz on 2020.08.01)

主要指標

概覽
名稱與所有者nodertc/dtls
主編程語言JavaScript
編程語言JavaScript (語言數: 1)
平台Linux, Mac, Windows
許可證MIT License
所有者活动
創建於2018-03-09 13:18:28
推送於2022-01-11 23:25:06
最后一次提交2019-11-02 00:41:10
發布數8
最新版本名稱v0.6.0 (發布於 2019-05-05 13:54:25)
第一版名稱prototype (發布於 )
用户参与
星數81
關注者數10
派生數11
提交數113
已啟用問題?
問題數41
打開的問題數9
拉請求數0
打開的拉請求數1
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?