'use strict'; module.exports = async function () { console.log('[Test] can generate, export, and import key'); var Keypairs = require('@root/keypairs'); var certKeypair = await Keypairs.generate({ kty: 'RSA' }); //console.log(certKeypair); var pem = await Keypairs.export({ jwk: certKeypair.private, encoding: 'pem' }); 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'); }; if (require.main === module) { module.exports(); }