התקנת תעודה בכל מוצרי 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:
צריך להגדיר משתנה סביבה לקובץ הפרופיל של סביבת שורת הפקודה שאתם משתמשים בה.
- אם אתם משתמשים ב-bash, קובץ הפרופיל נמצא בנתיב
bash_profile./~
או בנתיבbashrc./~
- אם אתם משתמשים ב-zsh (ברירת המחדל מ-Catalina 10.15 ואילך), קובץ הפרופיל נמצא בנתיב
zshenv./~
- אם אתם משתמשים ב-Oh my zsh, קובץ הפרופיל נמצא בנתיב
zshrc./~
הריצו את הפקודה הבאה בהתאמה לנתיב של קובץ הפרופיל הנוכחי שלכם, וכמובן את path/to/netfree-ca.crt/
תחליפו בנתיב שבו שמרתם את התעודה שהורדתם:
echo export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt >> ~/.zshenv
והפעילו חלון טרמינל חדש.
אפשרות נוספת
במקרה שההגדרה לא עובדת בגלל שזו גירסה ישנה או שמדובר ב 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.
הפעולה תעזור עבור ההרצה הנוכחית של הטרמינל בלבד.