crackyourinterview.com


To improves our performance please Like Share Subscribe(Will boost us)

Node.js TLS/SSL
Question Posted on 08 Feb 2024Home >> Tutorial >> Node.js Tutorial >> Node.js TLS/SSL

Node.js TLS SSL

Node.js TLS/SSL




What is TLS/SSL


First questions comes in mind, what TLS and SSL is. TLS mainly stand for Transport Layer Secuirty. And this is the successor to SSL(Secure Sockets Layer). TLS along with SSL is used for cryptographic protocols to secure communication over the web.

Well TLS uses pubic key cryptography to encrypt messages. It encrypts communication generally on the TCP layer.


What is public key cryptography


In public key cryptography, each client and each server has tow keys mainly:-
(1)Public Key
(2)Private Key
Public key is shared with everyone and private key is secured. And to encrypt a message, a computer requires its private key and the recipient?s public key. While on the other hand, to decrypt the message, the recipient requires its own.

And to get access the module you need to use require('tls')

syntax:


var tls=require('tls');





The tls module uses OpenSSL to attain Transport Layer Security and Secure Socket Layer. Well TLS/SSL is a public/private key infrastruture. Each client and each server must have a private key.

And a private key can be created like this:-


openssl genrsa -out ryans-key.pem 1024




All servers and some clients need to have a certificate. Certificates are public keys signed by a Certificate Authority or self-signed. And to get certificate, you have to create a "Certificate Signing Request" CSR file.

And a certificate can be created like below


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




And to create a self-signed certificate with the CSR:-


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




Node.js TLS client example


File:tlsclient.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
});




Now we open th Node.js command prompt and execuet the file


node tlsclient.js







Node.js TLS
0
0



.


Most Visited Questions:-

Deep Learning Questions Answers
Below are the different Deep Leaning Questions and answer a More...

Continuous Integration Questions Answers
Below are the 20 odd questions for CI or Continuous Integra More...

Derived relationships in Association Rule Mining are represented in the form of __________.
Derived relationships in Association Rule Mining are repres More...

What is Gulpjs and some multiple choice questions on Gulp
Gulpjs is an open source whihc helps in building Javascript More...

Microservices Architecture Questions Answers
Below are the different questions on Microservices Architec More...




Other Important Questions

Parts of Node.js

Install Node.js Linux

Node.js First Example

Node.js Globals

Node.js DNS






@2014-2022 Crackyourinterview (All rights reserved)
Privacy Policy - Disclaimer - Sitemap