התקנת תעודה בכל מוצרי node: הבדלים בין גרסאות בדף

מתוך ויקי נטפרי
קפיצה לניווט קפיצה לחיפוש
אין תקציר עריכה
אין תקציר עריכה
שורה 21: שורה 21:


<pre>
<pre>
if(process.env.NODE_EXTRA_CA_CERTS){
(function(){
(function(){
if(!process.env.NODE_EXTRA_CA_CERTS) return;
try{
try{
var netfreeCa = require("fs").readFileSync(process.env.NODE_EXTRA_CA_CERTS);
var netfreeCa = require("fs").readFileSync(process.env.NODE_EXTRA_CA_CERTS);
}catch(e){
}catch(e){
return;
return;
}
}
var NativeSecureContext = process.binding('crypto').SecureContext;
var NativeSecureContext = process.binding('crypto').SecureContext;
var oldaddRootCerts = NativeSecureContext.prototype.addRootCerts;
var oldaddRootCerts = NativeSecureContext.prototype.addRootCerts;
NativeSecureContext.prototype.addRootCerts = function(){
NativeSecureContext.prototype.addRootCerts = function(){
var ret = oldaddRootCerts.apply(this,arguments);
var ret = oldaddRootCerts.apply(this,arguments);
this.addCACert(netfreeCa);
this.addCACert(netfreeCa);
return ret;
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