TLS代表传输层安全性。它是安全套接字层(SSL)的后继者。 TLS和SSL一起用于加密协议,以确保Web上的通信安全。
TLS使用公共密钥密码术来加密消息。它通常在TCP层上加密通信。
在公用密钥加密中,每个客户端和每个服务器都有两个密钥:公钥和私钥。公钥与所有人共享,私钥是安全的。要加密邮件,计算机需要使用其私钥和收件人的公钥。另一方面,要解密消息,收件人需要自己的私钥。
您必须使用require('tls')来访问此模块。
语法:
var tls = require('tls');
TLS模块使用OpenSSL来获得传输层安全性和安全套接字层。 TLS/SSL是公/私钥基础结构。每个客户端和每个服务器必须具有私钥。
可以这样创建一个私钥:
openssl genrsa -out ryans-key.pem 1024
所有服务器和某些客户都需要具有证书。证书是由证书颁发机构签名或自签名的公钥。要获得证书,您必须创建一个“证书签名请求”(CSR)文件。
链接:https://www.learnfk.comhttps://www.learnfk.com/nodejs/nodejs-tls-ssl.html
来源:LearnFk无涯教程网
可以像这样创建证书:
openssl req -new -key ryans-key.pem -out ryans-csr.pem
要使用CSR创建自语法证书:
openssl x509 -req -in ryans-csr.pem -signkey ryans-key.pem -out ryans-cert.pem
文件:tls_client.js.
tls = require('tls'); function connected(stream) { if (stream) { //已连接的Socket stream.write("GET/HTTP/1.0\n\rHost: encrypted.google.com:443\n\r\n\r"); } else { console.log("Connection failed"); } } //需要将套接字变量保持在范围内 var dummy = this; //尝试连接到服务器 dummy.socket = tls.connect(443, 'encrypted.google.com', function() { //仅在套接字连接成功后调用的回调 dummy.connected = true; if (dummy.socket.authorized) { //授权成功 dummy.socket.setEncoding('utf-8'); connected(dummy.socket); } else { //授权失败 console.log(dummy.socket.authorizationError); connected(null); } }); dummy.socket.addListener('data', function(data) { //接收数据 console.log(data); }); dummy.socket.addListener('error', function(error) { if (!dummy.connected) { //套接字未连接,通知回调 connected(null); } console.log("FAIL"); console.log(error); }); dummy.socket.addListener('close', function() { });
输出:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Python实战 · 从0到1搭建直播视频平台 -〔Barry〕