התקנת תעודה בכל מוצרי node

מתוך ויקי נטפרי
קפיצה לניווט קפיצה לחיפוש
הגרסה להדפסה אינה נתמכת עוד וייתכן שיש בה שגיאות תיצוג. נא לעדכן את הסימניות בדפדפן שלך ולהשתמש בפעולת ההדפסה הרגילה של הדפדפן במקום זה.

For English click here

למעבר מתצוגת עריכה לתצוגת קריאה

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


עדכון עבור מערכות windows: בתאריך כ"ח ניסן תשע"ט / 3 במאי 2019, יצאה תוכנה חדשה להתקנת התעודה, התוכנה החדשה מתקינה את התעודה אוטומטית גם במוצרי node.



אפשרות מומלצת

מורידים את התעודה של ספק נטפרי הנוכחי שאתם מחוברים אליו מכאן:

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

ושומרים אותה במחשב במיקום קבוע.


windows:

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

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

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

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


linux:

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

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

יש להחליף את הנתיב ‎/path/to/netfree-ca.crt בנתיב בו שמרתם את התעודה שהורדתם, ולהפעיל חלון טרמינל חדש.


mac:

ניתן להריץ פקודה זו:

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

ובמקרה שאתם משתמשים ב - zsh:

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

כנ"ל יש להחליף את הנתיב ‎/path/to/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 ודברים מבוססים עליו (לא מומלץ כפתרון קבע):


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

linux\mac:

export NODE_TLS_REJECT_UNAUTHORIZED=0

windows:

set NODE_TLS_REJECT_UNAUTHORIZED=0


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

הפעולה תעזור עבור ההרצה הנוכחית של הטרמינל בלבד.