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