התקנת תעודה בכל מוצרי 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