Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matrix-org
Olm
Commits
974e0984
Commit
974e0984
authored
Jul 08, 2015
by
Mark Haines
Browse files
Update the javascript bindings and demo to match the format of the identity key JSON
parent
3a382aec
Changes
4
Hide whitespace changes
Inline
Side-by-side
include/olm/account.hh
View file @
974e0984
...
...
@@ -96,7 +96,7 @@ struct Account {
std
::
uint8_t
const
*
device_id
,
std
::
size_t
device_id_length
,
std
::
uint64_t
valid_after_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
(
...
...
javascript/demo.html
View file @
974e0984
...
...
@@ -29,10 +29,16 @@ document.addEventListener("DOMContentLoaded", function (event) {
tasks
.
push
([
"
alice
"
,
"
Creating account
"
,
function
()
{
alice
.
create
()
}]);
tasks
.
push
([
"
bob
"
,
"
Creating account
"
,
function
()
{
bob
.
create
()
}]);
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
];
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
()
{
...
...
javascript/olm_post.js
View file @
974e0984
...
...
@@ -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
(
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
);
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
);
});
...
...
src/account.cpp
View file @
974e0984
...
...
@@ -170,8 +170,8 @@ std::size_t olm::Account::get_identity_json_length(
std
::
size_t
olm
::
Account
::
get_identity_json
(
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
::
uint64_t
valid_until_ts
,
std
::
uint64_t
valid_after_ts
,
std
::
uint64_t
valid_until_ts
,
std
::
uint8_t
*
identity_json
,
std
::
size_t
identity_json_length
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment