Update the javascript bindings and demo to match the format of the identity key JSON
This commit is contained in:
parent
3a382aec59
commit
974e0984bd
4 changed files with 28 additions and 7 deletions
|
@ -96,7 +96,7 @@ struct Account {
|
||||||
std::uint8_t const * device_id, std::size_t device_id_length,
|
std::uint8_t const * device_id, std::size_t device_id_length,
|
||||||
std::uint64_t valid_after_ts,
|
std::uint64_t valid_after_ts,
|
||||||
std::uint64_t valid_until_ts,
|
std::uint64_t valid_until_ts,
|
||||||
std::uint8_t * identity_keys, std::size_t identity_keys_length
|
std::uint8_t * identity_json, std::size_t identity_json_length
|
||||||
);
|
);
|
||||||
|
|
||||||
OneTimeKey const * lookup_key(
|
OneTimeKey const * lookup_key(
|
||||||
|
|
|
@ -29,10 +29,16 @@ document.addEventListener("DOMContentLoaded", function (event) {
|
||||||
tasks.push(["alice", "Creating account", function() { alice.create() }]);
|
tasks.push(["alice", "Creating account", function() { alice.create() }]);
|
||||||
tasks.push(["bob", "Creating account", function() { bob.create() }]);
|
tasks.push(["bob", "Creating account", function() { bob.create() }]);
|
||||||
tasks.push(["alice", "Create outbound session", function() {
|
tasks.push(["alice", "Create outbound session", function() {
|
||||||
var bobs_keys_1 = JSON.parse(bob.identity_keys())[0];
|
var bobs_id_keys = JSON.parse(bob.identity_keys("bob", "bob_device", 0, 0));
|
||||||
|
var bobs_curve25519_key;
|
||||||
|
for (key in bobs_id_keys.keys) {
|
||||||
|
if (key.startsWith("curve25519:")) {
|
||||||
|
bobs_curve25519_key = bobs_id_keys.keys[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
var bobs_keys_2 = JSON.parse(bob.one_time_keys())[1];
|
var bobs_keys_2 = JSON.parse(bob.one_time_keys())[1];
|
||||||
a_session.create_outbound(
|
a_session.create_outbound(
|
||||||
alice, bobs_keys_1[1], bobs_keys_2[0], bobs_keys_2[1]
|
alice, bobs_curve25519_key, bobs_keys_2[0], bobs_keys_2[1]
|
||||||
);
|
);
|
||||||
}]);
|
}]);
|
||||||
tasks.push(["alice", "Encrypt first message", function() {
|
tasks.push(["alice", "Encrypt first message", function() {
|
||||||
|
|
|
@ -63,13 +63,28 @@ Account.prototype['create'] = restore_stack(function() {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
Account.prototype['identity_keys'] = restore_stack(function() {
|
Account.prototype['identity_keys'] = restore_stack(function(
|
||||||
|
user_id, device_id, valid_after, valid_until
|
||||||
|
) {
|
||||||
|
var user_id_array = array_from_string(user_id);
|
||||||
|
var device_id_array = array_from_string(device_id);
|
||||||
var keys_length = account_method(
|
var keys_length = account_method(
|
||||||
Module['_olm_account_identity_keys_length']
|
Module['_olm_account_identity_keys_length']
|
||||||
)(this.ptr);
|
)(
|
||||||
|
this.ptr, user_id_array.length, device_id_array.length,
|
||||||
|
valid_after, valid_after / Math.pow(2, 32),
|
||||||
|
valid_until, valid_until / Math.pow(2, 32)
|
||||||
|
);
|
||||||
|
var user_id_buffer = stack(user_id_array);
|
||||||
|
var device_id_buffer = stack(device_id_array);
|
||||||
var keys = stack(keys_length);
|
var keys = stack(keys_length);
|
||||||
account_method(Module['_olm_account_identity_keys'])(
|
account_method(Module['_olm_account_identity_keys'])(
|
||||||
this.ptr, keys, keys_length
|
this.ptr,
|
||||||
|
user_id_buffer, user_id_array.length,
|
||||||
|
device_id_buffer, device_id_array.length,
|
||||||
|
valid_after, valid_after / Math.pow(2, 32),
|
||||||
|
valid_until, valid_until / Math.pow(2, 32),
|
||||||
|
keys, keys_length
|
||||||
);
|
);
|
||||||
return Pointer_stringify(keys, keys_length);
|
return Pointer_stringify(keys, keys_length);
|
||||||
});
|
});
|
||||||
|
|
|
@ -170,8 +170,8 @@ std::size_t olm::Account::get_identity_json_length(
|
||||||
std::size_t olm::Account::get_identity_json(
|
std::size_t olm::Account::get_identity_json(
|
||||||
std::uint8_t const * user_id, std::size_t user_id_length,
|
std::uint8_t const * user_id, std::size_t user_id_length,
|
||||||
std::uint8_t const * device_id, std::size_t device_id_length,
|
std::uint8_t const * device_id, std::size_t device_id_length,
|
||||||
std::uint64_t valid_until_ts,
|
|
||||||
std::uint64_t valid_after_ts,
|
std::uint64_t valid_after_ts,
|
||||||
|
std::uint64_t valid_until_ts,
|
||||||
std::uint8_t * identity_json, std::size_t identity_json_length
|
std::uint8_t * identity_json, std::size_t identity_json_length
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue