| 
									
										
										
										
											2019-10-04 17:35:59 -06:00
										 |  |  | // Copyright 2016-2018 AJ ONeal. All rights reserved
 | 
					
						
							|  |  |  | /* This Source Code Form is subject to the terms of the Mozilla Public | 
					
						
							|  |  |  |  * License, v. 2.0. If a copy of the MPL was not distributed with this | 
					
						
							|  |  |  |  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | 
					
						
							|  |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-08 13:02:43 -06:00
										 |  |  | module.exports = function(bitlen, exp) { | 
					
						
							|  |  |  | 	var keypair = require('crypto').generateKeyPairSync('rsa', { | 
					
						
							|  |  |  | 		modulusLength: bitlen, | 
					
						
							|  |  |  | 		publicExponent: exp, | 
					
						
							|  |  |  | 		privateKeyEncoding: { type: 'pkcs1', format: 'pem' }, | 
					
						
							|  |  |  | 		publicKeyEncoding: { type: 'pkcs1', format: 'pem' } | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 	var result = { privateKeyPem: keypair.privateKey.trim() }; | 
					
						
							|  |  |  | 	return result; | 
					
						
							| 
									
										
										
										
											2019-10-04 17:35:59 -06:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (require.main === module) { | 
					
						
							| 
									
										
										
										
											2019-10-08 13:02:43 -06:00
										 |  |  | 	var keypair = module.exports(2048, 0x10001); | 
					
						
							|  |  |  | 	console.info(keypair.privateKeyPem); | 
					
						
							| 
									
										
										
										
											2019-10-04 17:35:59 -06:00
										 |  |  | } |