From f72f0fb0a7c3fffe848ee7fdd98169a76bd4b2a0 Mon Sep 17 00:00:00 2001 From: Mark Nadal Date: Mon, 19 Feb 2018 15:29:02 -0800 Subject: [PATCH] test heroic? --- Procfile.js | 1 + sea.js | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 Procfile.js diff --git a/Procfile.js b/Procfile.js new file mode 100644 index 00000000..a5ffa97a --- /dev/null +++ b/Procfile.js @@ -0,0 +1 @@ +web: node --optimize_for_size --max_old_space_size=460 --gc_interval=100 examples/http.js \ No newline at end of file diff --git a/sea.js b/sea.js index e564fcf2..de835ec4 100644 --- a/sea.js +++ b/sea.js @@ -485,7 +485,7 @@ // Derive shared secret from other's pub and my epub/epriv async derive(pub, { epub, epriv }) { try { - const { importKey, deriveKey, exportKey } = wc.ossl || subtle + const sub = wc.ossl || subtle const keystoecdhjwk = (pub, priv) => { const [ x, y ] = Buffer.from(pub, 'base64').toString('utf8').split(':') const jwk = priv ? { d: priv, key_ops: ['decrypt'] } : { key_ops: ['encrypt'] } @@ -497,12 +497,12 @@ y }) } - const pubLic = await importKey('jwk', keystoecdhjwk(pub), ecdhKeyProps, false, ['deriveKey']) + const pubLic = await sub.importKey('jwk', keystoecdhjwk(pub), ecdhKeyProps, false, ['deriveKey']) const props = Object.assign({}, ecdhKeyProps, { public: pubLic }) - const derived = await importKey('jwk', keystoecdhjwk(epub, epriv), ecdhKeyProps, false, ['deriveKey']) + const derived = await sub.importKey('jwk', keystoecdhjwk(epub, epriv), ecdhKeyProps, false, ['deriveKey']) .then(async (privKey) => { // privateKey scope doesn't leak out from here! - const derivedKey = await deriveKey(props, privKey, { name: 'AES-CBC', length: 256 }, true, [ 'encrypt', 'decrypt' ]) + const derivedKey = await sub.deriveKey(props, privKey, { name: 'AES-CBC', length: 256 }, true, [ 'encrypt', 'decrypt' ]) return exportKey('jwk', derivedKey).then(({ k }) => k) }) return derived