mirror of
				https://github.com/therootcompany/greenlock.js.git
				synced 2024-11-16 17:29:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			993 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			993 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| var fs = require('fs');
 | |
| var PromiseA = require('bluebird');
 | |
| 
 | |
| module.exports.fetchFromDisk = function (args, defaults) {
 | |
|   var hostname = args.domains[0];
 | |
|   var crtpath = (args.fullchainPath || defaults.fullchainPath)
 | |
|     || (defaults.configDir
 | |
|       + (args.fullchainTpl || defaults.fullchainTpl || ':hostname/fullchain.pem').replace(/:hostname/, hostname));
 | |
|   var privpath = (args.privkeyPath || defaults.privkeyPath)
 | |
|     || (defaults.configDir
 | |
|       + (args.privkeyTpl || defaults.privkeyTpl || ':hostname/privkey.pem').replace(/:hostname/, hostname));
 | |
| 
 | |
|   return PromiseA.all([
 | |
|     fs.readFileAsync(privpath, 'ascii')
 | |
|   , fs.readFileAsync(crtpath, 'ascii')
 | |
|     // stat the file, not the link
 | |
|   , fs.statAsync(crtpath)
 | |
|   ]).then(function (arr) {
 | |
|     return {
 | |
|       key: arr[0]  // privkey.pem
 | |
|     , cert: arr[1] // fullchain.pem
 | |
|       // TODO parse centificate for lifetime / expiresAt
 | |
|     , issuedAt: arr[2].mtime.valueOf()
 | |
|     };
 | |
|   }, function () {
 | |
|     return null;
 | |
|   });
 | |
| };
 |