התקנת תעודה בכל מוצרי node: הבדלים בין גרסאות בדף
(לאחר אי הצלחה להוסיף את התעודה לנוד, פשוט ביטלתי את האבטחה והוספתי לפה שידעו גם מי שנתקל בבעיה הזו.) |
(עדכון: תוכנה חדשה) |
||
שורה 1: | שורה 1: | ||
− | |||
{{עמוד באנגלית|Installation of certificate in all Node products}} | {{עמוד באנגלית|Installation of certificate in all Node products}} | ||
{{קישור לתצוגת קריאה}} | {{קישור לתצוגת קריאה}} | ||
{{ניווט|תעודת האבטחה}} | {{ניווט|תעודת האבטחה}} | ||
− | + | '''עדכון: בתאריך כ"ח ניסן תשע"ט / 3 במאי 2019, יצאה [[התקנת תעודה נפוצה|תוכנה חדשה להתקנת התעודה]], התוכנה החדשה מתקינה את התעודה אוטומטית גם במוצרי node.''' | |
גרסה מ־15:23, 15 במאי 2019
For English click here
למעבר מתצוגת עריכה לתצוגת קריאה
עמוד ראשי > תעודת האבטחה > התקנת תעודה בכל מוצרי node
עדכון: בתאריך כ"ח ניסן תשע"ט / 3 במאי 2019, יצאה תוכנה חדשה להתקנת התעודה, התוכנה החדשה מתקינה את התעודה אוטומטית גם במוצרי 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.
לחילופין, ניתן לבטל לחלוטין את החיבור המאובטח בnodejs ע"י הרצת הפקודה הבאה:
npm config set strict-ssl false