Installation of certificate in all Node products: הבדלים בין גרסאות בדף

מתוך ויקי נטפרי
קפיצה לניווט קפיצה לחיפוש
מ (fix: use {{he}} for link to hebrew page instead of {{en}} (דרך WP:JWB))
 
(גרסת ביניים אחת של משתמש אחר אחד אינה מוצגת)
שורה 1: שורה 1:
{{En|התקנת תעודה בכל מוצרי node}}
+
{{he|התקנת תעודה בכל מוצרי node}}
 
{{Navigation|Security certificate}}
 
{{Navigation|Security certificate}}
  
שורה 40: שורה 40:
 
mac:
 
mac:
  
You can run this command:
+
You need to set an environment variable for the profile file of the command-line environment that you are using.
  
echo export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt >> ~/.bash_profile
+
* If you use '''bash''', the profile file is in the path <code>bash_profile./~</code> Or in the path <code>bashrc./~</code>
  
And in case you use zsh (default from Catalina 10.15 or later):
+
* If you use '''zsh''' (default from -Catalina 10.15 onwards), the profile file is in the path <code>zshenv./~</code>
 +
 
 +
* If you use '''Oh my zsh''', the profile file is in the path <code>zshrc./~</code>
 +
 
 +
Run the following command according to the path of your current profile file, and of course <code>path/to/netfree-ca.crt/</code> replace with the path where you saved the certificate you downloaded:
  
 
  echo export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt >> ~/.zshenv
 
  echo export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt >> ~/.zshenv
  
Change the path <code>‎/path/to/netfree-ca.crt</code> to the path where you saved the certificate you downloaded, and open a new terminal window.
+
And activate a new terminal window.
  
  

גרסה אחרונה מ־04:10, 17 באוגוסט 2023

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

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 need to set an environment variable for the profile file of the command-line environment that you are using.

  • If you use bash, the profile file is in the path bash_profile./~ Or in the path bashrc./~
  • If you use zsh (default from -Catalina 10.15 onwards), the profile file is in the path zshenv./~
  • If you use Oh my zsh, the profile file is in the path zshrc./~

Run the following command according to the path of your current profile file, and of course path/to/netfree-ca.crt/ replace with the path where you saved the certificate you downloaded:

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

And activate 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.