התקנת תעודה בכל מוצרי node: הבדלים בין גרסאות בדף

מתוך ויקי נטפרי
קפיצה לניווט קפיצה לחיפוש
(טעות בשם הקובץ)
(קישור לאנגלית)
שורה 1: שורה 1:
 +
<div lang="en" dir="ltr">
 +
For English [[Installation of certificate in all Node products|click here]]
 +
</div>
 
<small>
 
<small>
 
''[[NetFriends (חברי נטפרי)|עמוד ראשי]]'' > ''[[תעודת האבטחה]]'' > ''התקנת תעודה בכל מוצרי node''
 
''[[NetFriends (חברי נטפרי)|עמוד ראשי]]'' > ''[[תעודת האבטחה]]'' > ''התקנת תעודה בכל מוצרי node''

גרסה מ־22:48, 31 באוקטובר 2018

For English click here

עמוד ראשי > תעודת האבטחה > התקנת תעודה בכל מוצרי node

מורידים את התעודה של הספק של נטפרי מפה. http://netfree.link/netfree-ca.crt שומרים אותה במחשב איפה שרוצים אבל במקום קבוע.

מגדירים במחשב משתנה סביבה בשם NODE_EXTRA_CA_CERTS, שהערך שלו הוא כתובת התעודה במחשב.

(להגדרת משתנה סביבה במערכת Windows יש לכתוב בשורת הפקודה במצב מנהל:

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

כמובן שיש לשנות את "C:\netfree-ca.crt" לכתובת הנכונה בה התעודה נמצאת.

במערכות לינוקס, יש לפתוח את קובץ הפרופיל (/etc/profile) ולכתוב את השורה הבאה בסוף הקובץ:

export NODE_EXTRA_CA_CERTS=/netfree-ca.crt

גם פה יש לוודא שהתעודה נמצאת ב/ או לחילופין לכתוב כתובת אחרת בה היא נמצאת).


במקרה שההגדרה לא עובדת בגלל שזה גירסה ישנה או שזה electron צריך להוסיף את הקוד הזה איפה שהוא בתוכנה.

(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;
	};
})();


לחלופין ניתן גם לבטל את הצורך בתעודה ע"י ביטול האבטחה, בכל הרצת node ודברים מבוססים עליו:


הריצו בשורת הפקודה.

בלינוקס

export NODE_TLS_REJECT_UNAUTHORIZED=0

בוינדוס

set NODE_TLS_REJECT_UNAUTHORIZED=0


ולאחר מכן הריצו את ה node