Node.js原生模块系列之网络-tls模块与安全传输层

内容分享7小时前发布
0 0 0

Node.js的tls模块使用 OpenSSL 来提供传输层安全协(Transport Layer Security)和安全套接字层(Secure Socket Layer)。该模块使用加密过的流通讯,可以使用这个模块构建一个安全的TCP服务器或是一个安全的Socket套接字。

使用tls模块前,应该第一创建TLS/SSL公钥、私钥。

1. Class: SecurePair

SecurePair表明“密钥对”类,该类对象由tls.createSecurePair()创建并返回。对象中会包含两个流,一个用于读/写加密数据,一个用于读/写明文数据。

2. Class: tls.Server

tls.Server是net.Server的子类并与其有一样的方法。不同于原始TCP请求,tls.Server服务器会使用TLSSSL加密连接。

该类实例由tls.createServer()创建并返回:

Node.js原生模块系列之网络-tls模块与安全传输层

也可以使用.pfx文件创建:

Node.js原生模块系列之网络-tls模块与安全传输层

创建服务器后,可以使用openssl s_client命令测试服务器:

openssl s_client -connect 127.0.0.1:8000

TLS/SSL服务器不同于TCP服务器,除可以接收普通连接外,还可以接收通过'secureConnection'事件添加安全连接。上例中,创建服务器时添加的函数就会自动添加到该事件:

function (tlsSocket) {}

这个回调函数中有一个参数,该参数是一个tls.TLSSocket实例。

3. Class: tls.TLSSocket

tls.TLSSocket是对net.Socket的包装,使用TLS加密传输取代了透明传输。它的实例实现了双向流接口,它有流中所有事件及方法。

可以使用构造函数,从一个已存在的TCP套接字中创建一个TLSSocket对象:

new tls.TLSSocket(socket[, options])

也可以使用tls.connect()方法,连接到一个远程TCP服务器,并创建一个TLSSocket对象:

Node.js原生模块系列之网络-tls模块与安全传输层

或使用.pfx文件创建连接:

Node.js原生模块系列之网络-tls模块与安全传输层

来自:http://itbilu.com

交流群:564850876

© 版权声明

相关文章

暂无评论

none
暂无评论...