Installation of certificate in all Node products

מתוך ויקי נטפרי
קפיצה אל: ניווט, חיפוש

לעברית לחצו כאן

To switch from edit view to read view

To search in the Wiki

Home page > Security certificate > Installation of certificate in all Node products ‎‎


Update for windows systems: as of 3 May 2019, a new certificate installation software was released, the new software automatically installs the certificate also in GIT

Recommended option

Download the certificate from the current NetFree provider you are connected to from here:

http://netfree.link/netfree-ca.crt

And keep it on the computer in a fixed location.


windows:


Download the certificate of your Provider of NetFree from here. http://netfree.link/netfree-ca.crt Save it on your computer where you want but in a fixed place.

Configure on your computer an Environment variable named NODE_EXTRA_CA_CERTS, whose value is the certificate address on the computer.

To define an environment variable in the system Windows, write in a command prompt opened in administrator mode:

SetX NODE_EXTRA_CA_CERTS "C:\netfree-ca.crt" /m

Of course you have to change ‎C:\netfree-ca.crt to the correct folder where the certificate was saved.


linux:

In Linux systems, open the profile file (/etc/profile) And write the following line at the end of the file:

export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt

Change the path ‎/path/to/netfree-ca.crt to the path where you saved the certificate you downloaded, and open a new terminal window.


mac:

You can run this command:

echo export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt >> ~/.bash_profile

And in case you use zsh (default from Catalina 10.15 or later):

echo export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt >> ~/.zshenv

Change the path ‎/path/to/netfree-ca.crt to the path where you saved the certificate you downloaded, and open a new terminal window.


Another option

If the setting does not work because it is an old version or it is electron, add this code somewhere in the software.

(function(){
	if(!process.env.NODE_EXTRA_CA_CERTS) return;
	try{
		var netfreeCa = require("fs").readFileSync(process.env.NODE_EXTRA_CA_CERTS);
	}catch(e){
		return;
	}
	
	var NativeSecureContext = process.binding('crypto').SecureContext;
	var oldaddRootCerts = NativeSecureContext.prototype.addRootCerts;
	NativeSecureContext.prototype.addRootCerts = function(){
		var ret = oldaddRootCerts.apply(this,arguments);
		this.addCACert(netfreeCa);
		return ret;
	};
})();



Option to cancel security check

Alternatively you can also cancel the need for a certificate by canceling security, on every node run and things based on it (not recommended as a permanent solution):


Run at the command prompt.

In linux\mac:

export NODE_TLS_REJECT_UNAUTHORIZED=0

In windows:

set NODE_TLS_REJECT_UNAUTHORIZED=0


And then run the Node.

This will only help for the current terminal run.