mirror of
				https://github.com/Ylianst/MeshCentral.git
				synced 2025-03-09 15:40:18 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
| * @description MeshCentral accelerator
 | |
| * @author Ylian Saint-Hilaire
 | |
| * @copyright Intel Corporation 2018-2021
 | |
| * @license Apache-2.0
 | |
| * @version v0.0.1
 | |
| */
 | |
| 
 | |
| /*xjslint node: true */
 | |
| /*xjslint plusplus: true */
 | |
| /*xjslint maxlen: 256 */
 | |
| /*jshint node: true */
 | |
| /*jshint strict: false */
 | |
| /*jshint esversion: 6 */
 | |
| "use strict";
 | |
| 
 | |
| const crypto = require('crypto');
 | |
| var certStore = null;
 | |
| 
 | |
| // When the parent process terminates, we exit also.
 | |
| process.on('disconnect', function () { process.exit(); });
 | |
| 
 | |
| // Handle parent messages
 | |
| process.on('message', function (message) { module.exports.processMessage(message); });
 | |
| 
 | |
| // Process an incoming message
 | |
| module.exports.processMessage = function(message) {
 | |
|     switch (message.action) {
 | |
|         case 'sign': {
 | |
|             if (typeof message.key == 'number') { message.key = certStore[message.key].key; }
 | |
|             try {
 | |
|                 const sign = crypto.createSign('SHA384');
 | |
|                 sign.end(Buffer.from(message.data, 'binary'));
 | |
|                 process.send(sign.sign(message.key).toString('binary'));
 | |
|             } catch (e) { process.send(null); }
 | |
|             break;
 | |
|         }
 | |
|         case 'setState': {
 | |
|             certStore = message.certs;
 | |
|             break;
 | |
|         }
 | |
|         case 'indexMcRec': {
 | |
|             //console.log('indexMcRec', message.data);
 | |
|             // Hold 5 seconds before starting to index
 | |
|             setTimeout(function () { require(require('path').join(__dirname, 'mcrec.js')).indexFile(message.data); }, 5000);
 | |
|             break;
 | |
|         }
 | |
|         default: {
 | |
|             console.log('Unknown accelerator action: ' + message.action + '.');
 | |
|             break;
 | |
|         }
 | |
|     }
 | |
| } |