Rate this post

TLS / SSL là gì?

TLS là viết tắt của Transport Layer Security. Nó là sự kế thừa của Lớp cổng bảo mật (SSL). TLS cùng với SSL được sử dụng cho các giao thức mật mã để bảo mật thông tin liên lạc qua web.

TLS sử dụng mật mã khóa công khai để mã hóa thông điệp. Nó mã hóa thông tin liên lạc nói chung trên lớp TCP.

Các bài viết liên quan:

Mật mã khóa công khai là gì?

Trong mật mã khóa công khai, mỗi máy khách và mỗi máy chủ có hai khóa: khóa công khai và khóa cá nhân. Khóa công khai được chia sẻ với mọi người và khóa cá nhân được bảo mật. Để mã hóa một tin nhắn, máy tính yêu cầu khóa cá nhân và khóa công khai của người nhận. Mặt khác, để giải mã tin nhắn, người nhận yêu cầu

Bạn phải sử dụng request (‘tls’) để truy cập mô-đun này.

Cú pháp:

var tls = require('tls');  

Mô-đun tls sử dụng OpenSSL để đạt được Bảo mật lớp truyền tải và Lớp cổng bảo mật. TLS / SSL là cơ sở hạ tầng khóa công khai / riêng tư. Mỗi máy khách và mỗi máy chủ phải có một khóa riêng.

Một khóa riêng có thể được tạo như thế này:

openssl genrsa -out ryans-key.pem 1024   

Tất cả các máy chủ và một số máy khách cần phải có chứng chỉ. Chứng chỉ là khóa công khai do Tổ chức phát hành chứng chỉ ký hoặc tự ký. Để nhận chứng chỉ, bạn phải tạo tệp “Yêu cầu ký chứng chỉ” (CSR).

Một chứng chỉ có thể được tạo như thế này:

openssl req -new -key ryans-key.pem -out ryans-csr.pem   

Để tạo chứng chỉ tự ký với CSR:

openssl x509 -req -in ryans-csr.pem -signkey ryans-key.pem -out ryans-cert.pem   

Ví dụ về Node.js TLS client

File: tls_client.js

tls = require('tls');  
 	function connected(stream) {  
	    if (stream) {  
 	       // socket connected  
	      stream.write("GET / HTTP/1.0\n\rHost: encrypted.google.com:443\n\r\n\r");    
 	    } else {  
 	      console.log("Connection failed");  
 	    }  
 	}  
  // needed to keep socket variable in scope  
 var dummy = this;  
  // try to connect to the server  
dummy.socket = tls.connect(443, 'encrypted.google.com', function() {  
    // callback called only after successful socket connection  
   dummy.connected = true;  
    if (dummy.socket.authorized) {  
       // authorization successful  
      dummy.socket.setEncoding('utf-8');  
      connected(dummy.socket);  
   } else {  
      // authorization failed  
     console.log(dummy.socket.authorizationError);  
     connected(null);  
    }  
 });  
  dummy.socket.addListener('data', function(data) {  
    // received data  
   console.log(data);  
});  
  dummy.socket.addListener('error', function(error) {  
    if (!dummy.connected) {  
      // socket was not connected, notify callback  
     connected(null);  
   }  
   console.log("FAIL");  
   console.log(error);  
 });  
 dummy.socket.addListener('close', function() {  
  // do something  
});  

Leave a Reply

Call now
%d bloggers like this: