התקנת תעודה בכל מוצרי node: הבדלים בין גרסאות בדף
קפיצה לניווט
קפיצה לחיפוש
שורה 17: | שורה 17: | ||
<כתובת של התעודה> | <כתובת של התעודה> | ||
+ | |||
+ | במקרה שההגדרה לא עובדת בגלל שזה גירסה ישנה או שזה electron צריך להוסיף את הקוד הזה איפה שהוא בתוכנה. | ||
+ | |||
+ | <pre> | ||
+ | if(process.env.NODE_EXTRA_CA_CERTS){ | ||
+ | (function(){ | ||
+ | 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; | ||
+ | }; | ||
+ | })(); | ||
+ | } | ||
+ | </pre> | ||
---- | ---- |
גרסה מ־09:19, 13 באוגוסט 2017
עמוד ראשי > תעודת האבטחה > התקנת תעודה בכל מוצרי node
מורידים את התעודה של הספק של נטפרי מפה. http://netfree.link/netfree-ca.crt שומרים אותה במחשב איפה שרוצים אבל במקום קבוע.
מגדירים במחשב משתני סביבה.
מפתח:
NODE_EXTRA_CA_CERTS
ערך:
<כתובת של התעודה>
במקרה שההגדרה לא עובדת בגלל שזה גירסה ישנה או שזה electron צריך להוסיף את הקוד הזה איפה שהוא בתוכנה.
if(process.env.NODE_EXTRA_CA_CERTS){ (function(){ 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