From 7e6a2ddba2e42787cfc32cbb815fdbab8fbd4af8 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Tue, 2 Aug 2016 10:36:37 -0400 Subject: [PATCH] check pem and jwk conversions --- tests/privkey.jwk | 1 + tests/privkey.pem | 27 +++++++++++++++++++++++++++ tests/reciprocate.js | 29 +++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 tests/privkey.jwk create mode 100644 tests/privkey.pem create mode 100644 tests/reciprocate.js diff --git a/tests/privkey.jwk b/tests/privkey.jwk new file mode 100644 index 0000000..fcda91c --- /dev/null +++ b/tests/privkey.jwk @@ -0,0 +1 @@ +{"kty":"RSA","n":"sdk_fKUwpygZjNuAt7804KFBZoeBXtJ5cMZyRDRCmPNZRjOqXSdMTY7We7W103Ivs97hz--quMg-R8smv3F1-4Quyfm5vXFQWPxYdrsfJzPkyku4lY8uWbZ8N0X1CM61NgQHOAwe8eHOM0zd-MECxrBASBzLuiq6Df-GpsridFivMYlFj7UTXm92ReFyOXZUZacXneCVWyUMIU6Faj8h2UVpaCCNsopT0fRoqoBIJ-qeXhDpbvfLfhbb25p79msutxN7mpGW9a3wL1LyoCTpMLqIlZSWKKDVCNyoTS9RH7lch-j8_DtL9VfNTPv1rw-n-N-LQDQH6z5j7ZanXiek0Q","e":"AQAB","d":"pQuaej8Gpql1BJ4TlvHvzWJ4wgCQk4G5x2myUw84mp6Cw75gpLA6hGNBMm8QPRjjogX-Ay1EftT9zzx9Sf6uYepqTW_d6ivFR79vDUhcAdKLyRx6QPkuJ31NSzI10qWZz3XviRjegtRtunfkKtxbii24ifOHMM5D-Yef2xu_Cf5RRZVSipZdLRlgttSW2t-lXCaFN1-F8ITPCEqaQGoHn5fk9eEhl2sd3r8BCN1xp_KTAyqxBt9inDr__YlYynXS9Y35Wu4Ofn9CszwiCrZxezWO6Mn0-T-woDYj3jsO7aRvWPOIcMSaL7KqbM1BIWKPJqtSXqc8uVs4ZcVEnB4pXQ","p":"6sx1OM-3ise7cQCOffWLxbB8xNfpQSpyC0_ZzNF-FNSpCfFiJ6GjhBhgddppdyLD8jR34ZO4sTM6ny575ez6XOVrSUHi4Cavnv7DH8PxWT3_IVGKYKbqQt63KdIKpxxC3EoG66VPCQvjJ-TgkjNhqPLFKDW9ihvHVQlsDrVcLss","q":"wehZNfic8h69BUp8ynQIqSaao--N4fKm_fOH8kvmsZQlns0Asiy2jTYnfZy0jN380x_A8Q2Bx15N5byokRzn3NzC3dni_Z87h-c0Upss7G4iIPDngUwAN0EnraXbzVAv1jWC7wdsYJgSOLxJ0QVcLN-yPPs12ESf3hTQS2XNS1M","dp":"OWt0w0bw8Mx1h2YGcsFIxDir2ouerGQP7bpCXjdhKQD0sczJHz4FOfmoJUobfpoO5z1zj8PLZ_JKRMFeZVU1yOAGA61MKVrsmepdl3gYnqVtrh09xPMs2NuUWXLXThS4OR0VYi1UDbdNfuUXEknkeSedlX7G8m5mqeIa_eHWQE8","dq":"P7zGBi2QOS3NZ_3SAyIc7qzXy-ckNg7ywSrZltVIITrXGtm7ztVPtB8G4A0wc9VME4GuhA2yiPwAkvFuXzSnKjwOeanzKPa8NLHUywpiu9x_r2BAWInI0GDEUBnipBwlfT3dqgBAqYeTBb8ubFxcrgthpRXV3x6_hdpFlWMDFi0","qi":"FnwWA6Flj9jp2vy_RL1WEDTSr2xCdVm3guNuUhwXIav5-tXm5kDca-4fJEGUiSYzh_MLApUT9U-97zV5Qfws-OAq6pDu1-34hU-w1xpKh1OKvKEOfvYGX1mdzu3FIaaB7RQSr_TW3AyOl29HP--lOcrsYmIK5xnuqc13MQ6Nss4"} diff --git a/tests/privkey.pem b/tests/privkey.pem new file mode 100644 index 0000000..25f54f0 --- /dev/null +++ b/tests/privkey.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAsdk/fKUwpygZjNuAt7804KFBZoeBXtJ5cMZyRDRCmPNZRjOq +XSdMTY7We7W103Ivs97hz++quMg+R8smv3F1+4Quyfm5vXFQWPxYdrsfJzPkyku4 +lY8uWbZ8N0X1CM61NgQHOAwe8eHOM0zd+MECxrBASBzLuiq6Df+GpsridFivMYlF +j7UTXm92ReFyOXZUZacXneCVWyUMIU6Faj8h2UVpaCCNsopT0fRoqoBIJ+qeXhDp +bvfLfhbb25p79msutxN7mpGW9a3wL1LyoCTpMLqIlZSWKKDVCNyoTS9RH7lch+j8 +/DtL9VfNTPv1rw+n+N+LQDQH6z5j7ZanXiek0QIDAQABAoIBAQClC5p6PwamqXUE +nhOW8e/NYnjCAJCTgbnHabJTDzianoLDvmCksDqEY0EybxA9GOOiBf4DLUR+1P3P +PH1J/q5h6mpNb93qK8VHv28NSFwB0ovJHHpA+S4nfU1LMjXSpZnPde+JGN6C1G26 +d+Qq3FuKLbiJ84cwzkP5h5/bG78J/lFFlVKKll0tGWC21Jba36VcJoU3X4XwhM8I +SppAagefl+T14SGXax3evwEI3XGn8pMDKrEG32KcOv/9iVjKddL1jfla7g5+f0Kz +PCIKtnF7NY7oyfT5P7CgNiPeOw7tpG9Y84hwxJovsqpszUEhYo8mq1Jepzy5Wzhl +xUScHildAoGBAOrMdTjPt4rHu3EAjn31i8WwfMTX6UEqcgtP2czRfhTUqQnxYieh +o4QYYHXaaXciw/I0d+GTuLEzOp8ue+Xs+lzla0lB4uAmr57+wx/D8Vk9/yFRimCm +6kLetynSCqccQtxKBuulTwkL4yfk4JIzYajyxSg1vYobx1UJbA61XC7LAoGBAMHo +WTX4nPIevQVKfMp0CKkmmqPvjeHypv3zh/JL5rGUJZ7NALIsto02J32ctIzd/NMf +wPENgcdeTeW8qJEc59zcwt3Z4v2fO4fnNFKbLOxuIiDw54FMADdBJ62l281QL9Y1 +gu8HbGCYEji8SdEFXCzfsjz7NdhEn94U0EtlzUtTAoGAOWt0w0bw8Mx1h2YGcsFI +xDir2ouerGQP7bpCXjdhKQD0sczJHz4FOfmoJUobfpoO5z1zj8PLZ/JKRMFeZVU1 +yOAGA61MKVrsmepdl3gYnqVtrh09xPMs2NuUWXLXThS4OR0VYi1UDbdNfuUXEknk +eSedlX7G8m5mqeIa/eHWQE8CgYA/vMYGLZA5Lc1n/dIDIhzurNfL5yQ2DvLBKtmW +1UghOtca2bvO1U+0HwbgDTBz1UwTga6EDbKI/ACS8W5fNKcqPA55qfMo9rw0sdTL +CmK73H+vYEBYicjQYMRQGeKkHCV9Pd2qAECph5MFvy5sXFyuC2GlFdXfHr+F2kWV +YwMWLQKBgBZ8FgOhZY/Y6dr8v0S9VhA00q9sQnVZt4LjblIcFyGr+frV5uZA3Gvu +HyRBlIkmM4fzCwKVE/VPve81eUH8LPjgKuqQ7tft+IVPsNcaSodTiryhDn72Bl9Z +nc7txSGmge0UEq/01twMjpdvRz/vpTnK7GJiCucZ7qnNdzEOjbLO +-----END RSA PRIVATE KEY----- diff --git a/tests/reciprocate.js b/tests/reciprocate.js new file mode 100644 index 0000000..f6b68bc --- /dev/null +++ b/tests/reciprocate.js @@ -0,0 +1,29 @@ +'use strict'; + +var RSA = require('../').RSA; +var fs = require('fs'); +var path = require('path'); + +var privkeyPemRef = fs.readFileSync(path.join(__dirname, 'privkey.pem'), 'ascii'); +var privkeyJwkRef = JSON.parse(fs.readFileSync(path.join(__dirname, 'privkey.jwk'), 'ascii')); + +var refs = { + privPem: RSA.exportPrivatePem({ privateKeyJwk: privkeyJwkRef }) +, privJwk: RSA.exportPrivateJwk({ privateKeyPem: privkeyPemRef }) +}; + +console.log(''); +console.log('valid pem', privkeyPemRef === refs.privPem); +if (privkeyPemRef !== refs.privPem) { + console.log(privkeyPemRef); + console.log(refs.privPem); +} + +console.log(''); +console.log('valid jwk', privkeyJwkRef.n === refs.privJwk.n); +if (privkeyJwkRef.n !== refs.privJwk.n) { + console.log(privkeyJwkRef); + console.log(refs.privJwk); +} + +console.log('');