התקנת תעודה בכל מוצרי 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