OLMKit: Reset intermediate buffers to zeroes
This commit is contained in:
parent
aa12cbcac2
commit
3540926b98
3 changed files with 6 additions and 0 deletions
|
@ -66,6 +66,7 @@
|
||||||
size_t randomLength = olm_create_account_random_length(_account);
|
size_t randomLength = olm_create_account_random_length(_account);
|
||||||
NSMutableData *random = [OLMUtility randomBytesOfLength:randomLength];
|
NSMutableData *random = [OLMUtility randomBytesOfLength:randomLength];
|
||||||
size_t accountResult = olm_create_account(_account, random.mutableBytes, random.length);
|
size_t accountResult = olm_create_account(_account, random.mutableBytes, random.length);
|
||||||
|
[random resetBytesInRange:NSMakeRange(0, random.length)];
|
||||||
if (accountResult == olm_error()) {
|
if (accountResult == olm_error()) {
|
||||||
const char *error = olm_account_last_error(_account);
|
const char *error = olm_account_last_error(_account);
|
||||||
NSLog(@"error creating account: %s", error);
|
NSLog(@"error creating account: %s", error);
|
||||||
|
@ -147,6 +148,7 @@
|
||||||
size_t randomLength = olm_account_generate_one_time_keys_random_length(_account, numberOfKeys);
|
size_t randomLength = olm_account_generate_one_time_keys_random_length(_account, numberOfKeys);
|
||||||
NSMutableData *random = [OLMUtility randomBytesOfLength:randomLength];
|
NSMutableData *random = [OLMUtility randomBytesOfLength:randomLength];
|
||||||
size_t result = olm_account_generate_one_time_keys(_account, numberOfKeys, random.mutableBytes, random.length);
|
size_t result = olm_account_generate_one_time_keys(_account, numberOfKeys, random.mutableBytes, random.length);
|
||||||
|
[random resetBytesInRange:NSMakeRange(0, random.length)];
|
||||||
if (result == olm_error()) {
|
if (result == olm_error()) {
|
||||||
const char *error = olm_account_last_error(_account);
|
const char *error = olm_account_last_error(_account);
|
||||||
NSLog(@"error generating keys: %s", error);
|
NSLog(@"error generating keys: %s", error);
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
NSMutableData *random = [OLMUtility randomBytesOfLength:olm_init_outbound_group_session_random_length(session)];
|
NSMutableData *random = [OLMUtility randomBytesOfLength:olm_init_outbound_group_session_random_length(session)];
|
||||||
|
|
||||||
size_t result = olm_init_outbound_group_session(session, random.mutableBytes, random.length);
|
size_t result = olm_init_outbound_group_session(session, random.mutableBytes, random.length);
|
||||||
|
[random resetBytesInRange:NSMakeRange(0, random.length)];
|
||||||
if (result == olm_error()) {
|
if (result == olm_error()) {
|
||||||
const char *error = olm_outbound_group_session_last_error(session);
|
const char *error = olm_outbound_group_session_last_error(session);
|
||||||
NSLog(@"olm_init_outbound_group_session error: %s", error);
|
NSLog(@"olm_init_outbound_group_session error: %s", error);
|
||||||
|
@ -97,6 +98,7 @@
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
NSString *sessionKey = [[NSString alloc] initWithData:sessionKeyData encoding:NSUTF8StringEncoding];
|
NSString *sessionKey = [[NSString alloc] initWithData:sessionKeyData encoding:NSUTF8StringEncoding];
|
||||||
|
[sessionKeyData resetBytesInRange:NSMakeRange(0, sessionKeyData.length)];
|
||||||
return sessionKey;
|
return sessionKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
NSData *idKey = [theirIdentityKey dataUsingEncoding:NSUTF8StringEncoding];
|
NSData *idKey = [theirIdentityKey dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
NSData *otKey = [theirOneTimeKey dataUsingEncoding:NSUTF8StringEncoding];
|
NSData *otKey = [theirOneTimeKey dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
size_t result = olm_create_outbound_session(_session, account.account, idKey.bytes, idKey.length, otKey.bytes, otKey.length, random.mutableBytes, random.length);
|
size_t result = olm_create_outbound_session(_session, account.account, idKey.bytes, idKey.length, otKey.bytes, otKey.length, random.mutableBytes, random.length);
|
||||||
|
[random resetBytesInRange:NSMakeRange(0, random.length)];
|
||||||
if (result == olm_error()) {
|
if (result == olm_error()) {
|
||||||
const char *olm_error = olm_session_last_error(_session);
|
const char *olm_error = olm_session_last_error(_session);
|
||||||
|
|
||||||
|
@ -215,6 +216,7 @@
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
size_t result = olm_encrypt(_session, plaintextData.bytes, plaintextData.length, random.mutableBytes, random.length, ciphertext.mutableBytes, ciphertext.length);
|
size_t result = olm_encrypt(_session, plaintextData.bytes, plaintextData.length, random.mutableBytes, random.length, ciphertext.mutableBytes, ciphertext.length);
|
||||||
|
[random resetBytesInRange:NSMakeRange(0, random.length)];
|
||||||
if (result == olm_error()) {
|
if (result == olm_error()) {
|
||||||
const char *olm_error = olm_session_last_error(_session);
|
const char *olm_error = olm_session_last_error(_session);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue