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