34 lines
		
	
	
		
			853 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			853 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | 'use strict'; | ||
|  | 
 | ||
|  | var RSA = require('../').RSA; | ||
|  | 
 | ||
|  | RSA.generateKeypair(null, function (err, keys) { | ||
|  |   if (!keys || !keys.privateKeyJwk) { | ||
|  |     throw new Error("Expected privateKeyJwk, but it is missing"); | ||
|  |   } | ||
|  | 
 | ||
|  |   var options = { | ||
|  |     public: true        // export public keys
 | ||
|  |   , pem: true           // export pems
 | ||
|  |   , jwk: false          // export jwks
 | ||
|  |   , internal: true      // preserve internal intermediate formats (_ursa, _forge)
 | ||
|  |   //, thumbprint: true    // JWK sha256 thumbprint
 | ||
|  |   , bitlen: 2048 | ||
|  |   , exp: 65537 | ||
|  |   }; | ||
|  |   RSA.generateKeypair(options, function (err, keys) { | ||
|  |     if ( | ||
|  |         (keys.publicKeyJwk && !keys.thumbprint) | ||
|  |     || !keys.privateKeyPem | ||
|  |     || !keys.publicKeyPem | ||
|  |     //|| !keys.thumbprint
 | ||
|  |     ) { | ||
|  |       console.error(Object.keys(keys)); | ||
|  |       throw new Error("Missing expected keys"); | ||
|  |     } | ||
|  | 
 | ||
|  |     console.log('All is well!'); | ||
|  |   }); | ||
|  | 
 | ||
|  | }); |