Installation of certificate in all Node products
לעברית לחצו כאן
To switch from edit view to read view
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.