| 
									
										
										
										
											2019-10-08 15:13:13 -06:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-24 11:39:25 -06:00
										 |  |  | module.exports = async function() { | 
					
						
							|  |  |  | 	console.log('[Test] can generate, export, and import key'); | 
					
						
							| 
									
										
										
										
											2019-10-08 15:13:13 -06:00
										 |  |  | 	var Keypairs = require('@root/keypairs'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	var certKeypair = await Keypairs.generate({ kty: 'RSA' }); | 
					
						
							| 
									
										
										
										
											2019-10-24 11:39:25 -06:00
										 |  |  | 	//console.log(certKeypair);
 | 
					
						
							| 
									
										
										
										
											2019-10-08 15:13:13 -06:00
										 |  |  | 	var pem = await Keypairs.export({ | 
					
						
							|  |  |  | 		jwk: certKeypair.private, | 
					
						
							|  |  |  | 		encoding: 'pem' | 
					
						
							|  |  |  | 	}); | 
					
						
							| 
									
										
										
										
											2019-10-24 11:39:25 -06:00
										 |  |  | 	var jwk = await Keypairs.import({ | 
					
						
							|  |  |  | 		pem: pem | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 	['kty', 'd', 'n', 'e'].forEach(function(k) { | 
					
						
							|  |  |  | 		if (!jwk[k] || jwk[k] !== certKeypair.private[k]) { | 
					
						
							|  |  |  | 			throw new Error('bad export/import'); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 	//console.log(pem);
 | 
					
						
							|  |  |  | 	console.log('PASS'); | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2019-10-08 15:13:13 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-24 11:39:25 -06:00
										 |  |  | if (require.main === module) { | 
					
						
							|  |  |  | 	module.exports(); | 
					
						
							|  |  |  | } |