aboutsummaryrefslogtreecommitdiff
path: root/javascript/olm_pk.js
AgeCommit message (Collapse)Author
2018-10-16zero buffers in the JavaScript bindingsHubert Chathi
2018-10-05Merge branch 'master' into dbkr/pk_private_export_importHubert Chathi
2018-10-05fix some code style issues and typosHubert Chathi
2018-10-02Work with PkDecryption keys by their private keysDavid Baker
Change interface to allow the app to get the private part of the key and instantiate a decryption object from just the private part of the key. Changes the function generating a key from random bytes to be initialising a key with a private key (because it's exactly the same thing). Exports & imports private key parts as ArrayBuffer at JS level rather than base64 assuming we are moving that way in general.
2018-10-01Call appropriate wrapper functionDavid Baker
Don't think this matters since there's no PkEncryption / PkDecryption object being passed, but for the sake of consistency
2018-09-21WebAssembly support!David Baker
Quite a lot going on in this PR: * Updates to support recent emscripten, switching to WASM which is now the default * Use emscripten's MODULARIZE option rather than wrapping it ourself, since doing so in pre-post js doesn't work anymore. * Most changes are moving the emscripten runtime functions to top-level calls rather than in the Module object. * Get rid of duplicated NULL_BYTE_PADDING_LENGTH * Fix ciphertext_length used without being declared * Fix things that caused the closure compiler to error, eg. using OLM_OPTIONS without a declaration. * Wait until module is inited to do OLM_ERROR = olm_error() The main BREAKING CHANGE here is that the module now needs to initialise asyncronously (because it has to load the wasm file). require()ing olm now gives a function which needs to be called to create an instance. The resulting object has a promise-like then() method that can be used to detect when the module is ready. (We could use MODULARIZE_INSTANCE to return the module directly as before, rather than the function, but then we don't get the .then() method).
2018-06-28add functions for pickling/unpickling a decryption objectHubert Chathi
2018-06-28add terminationHubert Chathi
2018-06-27use the correct method to get the random lengthHubert Chathi
2018-06-27add initial implementation of basic private key encryption functionalityHubert Chathi