Commit graph

1033 commits

Author SHA1 Message Date
Mark Haines
b6e248c9a5 Output simpler JSON for the account keys, don't sign the JSON but instead provide a olm_account_sign method so that the user of the library can sign the JSON themselves 2015-07-10 11:57:53 +01:00
Mark Haines
373acefde7 Add c bindings for the methods for managing one time keys 2015-07-09 18:35:54 +01:00
Mark Haines
5634be0507 Add methods for generating new one time keys and for tracking which one time keys have been published 2015-07-09 16:09:16 +01:00
Mark Haines
0e988237f6 Don't pass a key id when creating a new outbound session 2015-07-08 16:04:18 +01:00
Mark Haines
532dc0d4e7 Change the JSON format for one time keys to include what algorithm they are for 2015-07-08 15:30:34 +01:00
Mark Haines
dceae043b3 Remove the RemoteKey type since it wasn't being used 2015-07-08 14:57:55 +01:00
Mark Haines
5291ec78b5 Send the public part of the one time key rather than passing an identifier 2015-07-08 14:53:25 +01:00
Mark Haines
974e0984bd Update the javascript bindings and demo to match the format of the identity key JSON 2015-07-08 11:16:00 +01:00
Mark Haines
3a382aec59 Encode the account keys as a signed JSON object 2015-07-07 16:42:03 +01:00
Mark Haines
2a873fd4e1 Add functions for creating and verifying ed25519 signatures 2015-07-07 09:50:32 +01:00
Mark Haines
a30a64d179 Rename generate_key to curve25519_generate_key 2015-07-07 09:03:12 +01:00
Mark Haines
f1cd5613f6 Remove the last resort one time key 2015-07-07 09:01:38 +01:00
Mark Haines
667e415c74 Removed SignedKey class 2015-07-07 08:56:18 +01:00
Matthew Hodgson
14a0e4c7fd remove more rogue axolotls 2015-06-28 18:00:01 +02:00
Matthew Hodgson
17aa7e6580 remove rogue axolotls 2015-06-28 17:56:40 +02:00
Matthew Hodgson
c1e87973b9 empscripten example 2015-06-27 04:35:07 +02:00
Matthew Hodgson
09d4125ff1 Rename axolotlpp as olm to avoid confusion with Axolotl-the-spec and Axolotl-the-OWS-libraries at moxie's request 2015-06-27 01:15:23 +02:00
Matthew Hodgson
fe95847245 fix citation 2015-06-26 19:26:01 +02:00
Mark Haines
86d0b80bea Add a README explaining how to build the library 2015-06-26 17:55:32 +01:00
Mark Haines
8b29bd4193 Make sure the build dir exists 2015-06-26 17:15:24 +01:00
Mark Haines
e28f0989ad Add a demo for the javascript bindings 2015-06-26 16:23:31 +01:00
Mark Haines
f2168004a1 Fix javascript bindings to correctly pass the random buffer 2015-06-26 16:16:34 +01:00
Mark Haines
84d6fbb0dc Add some tests which advance the ratchet on both sides a few times 2015-06-26 14:42:24 +01:00
Mark Haines
0083a07345 Throw an Error object rather than a string in the javascript bindings. 2015-06-24 10:32:51 +01:00
Mark Haines
07072912cd Add javascript bindings using emscripten 2015-06-23 17:50:30 +01:00
Mark Haines
f10c04d62d reduce the number of one time keys that get generated when we create an account 2015-06-23 17:49:04 +01:00
Mark Haines
8bf32c3248 Fix bug encoding integers larger than 128 2015-06-23 17:47:48 +01:00
Mark Haines
10e7e8123d Add missing include, fix bug in handling unknown message fields 2015-06-23 15:15:18 +01:00
Mark Haines
39a0873309 This field isn't being used anywhere so don't bother including it in the messages 2015-06-23 10:03:41 +01:00
Mark Haines
3f475ab2f8 Note that the input buffers are destroyed by some of the account and session methods 2015-06-22 18:00:34 +01:00
Mark Haines
043bc43716 Copyright Notices 2015-06-22 17:50:56 +01:00
Mark Haines
492dc1ab58 Add API docs for the axolotl.hh methods 2015-06-22 17:44:56 +01:00
Mark Haines
408530adf9 Add API for removing used one time keys 2015-06-22 11:02:42 +01:00
Mark Haines
fb980849c4 Add gdb script and psuedo-call graph generator python script for tracing calls to crypto primitives 2015-06-21 18:47:06 +01:00
Mark Haines
0ca3797d2d Make the 'random' numbers different for each key in the tests 2015-06-21 18:33:46 +01:00
Mark Haines
9cd53394e7 Fix a few valgrind warnings in the tests 2015-06-20 20:13:31 +01:00
Mark Haines
499f680f5b Add python ctypes bindings and a command line script using them 2015-06-16 18:13:04 +01:00
Mark Haines
76f49cf177 Add a test for the axolotl API 2015-06-16 15:15:40 +01:00
Mark Haines
11861404e4 script for building a shared library 2015-06-15 17:49:43 +01:00
Mark Haines
4abead9e9e Add c interface which wraps the cpp classes 2015-06-15 17:49:20 +01:00
Mark Haines
7cdde73560 Add base64 encoders and decoders 2015-06-15 17:48:09 +01:00
Mark Haines
026e4394bb Implement creating a new account 2015-06-15 17:47:22 +01:00
Mark Haines
6fe3b7eb73 Move utils for pickling into a separate file 2015-06-12 16:15:37 +01:00
Mark Haines
28541dd82a Implement the session key exchange 2015-06-22 14:30:46 +01:00
Mark Haines
6ecea67718 Implement the session key exchange 2015-06-12 14:09:41 +01:00
Mark Haines
08a7e44a96 Pass the message body to decrypt_max_plaintext_length so we can get a more accurate estimate, rename encrypt_max_output_length to encrypt_output_length and change the api to return the exact number of bytes needed to hold the message 2015-06-12 09:08:15 +01:00
Mark Haines
793b9b910a Start writing the interfaces for session and the account objects 2015-06-11 18:03:22 +01:00
Mark Haines
bcb05d1a99 rename Session to Ratchet 2015-06-11 16:10:55 +01:00
Mark Haines
e44c82a7b4 Add encoder and decoder for PreKey messages 2015-06-11 15:57:45 +01:00
Mark Haines
816435a860 Move AES specific details behind a cipher interface 2015-06-11 14:20:35 +01:00