fixes hex encoding issue
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var Neeto = Neeto || {};
|
var Neeto = window.Neeto = Neeto || {};
|
||||||
var SN = SN || {};
|
var SN = SN || {};
|
||||||
|
|
||||||
// detect IE8 and above, and edge.
|
// detect IE8 and above, and edge.
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class ItemParams {
|
|||||||
var params = {uuid: this.item.uuid, content_type: this.item.content_type, deleted: this.item.deleted, created_at: this.item.created_at};
|
var params = {uuid: this.item.uuid, content_type: this.item.content_type, deleted: this.item.deleted, created_at: this.item.created_at};
|
||||||
|
|
||||||
if(this.keys) {
|
if(this.keys) {
|
||||||
let encryptionVersion = "001";
|
let encryptionVersion = "002";
|
||||||
EncryptionHelper.encryptItem(itemCopy, this.keys, encryptionVersion);
|
EncryptionHelper.encryptItem(itemCopy, this.keys, encryptionVersion);
|
||||||
params.content = itemCopy.content;
|
params.content = itemCopy.content;
|
||||||
params.enc_item_key = itemCopy.enc_item_key;
|
params.enc_item_key = itemCopy.enc_item_key;
|
||||||
|
|||||||
@@ -35,11 +35,11 @@ angular.module('app.frontend')
|
|||||||
this.keys = function() {
|
this.keys = function() {
|
||||||
var keys = {mk: localStorage.getItem("mk")};
|
var keys = {mk: localStorage.getItem("mk")};
|
||||||
if(!localStorage.getItem("encryptionKey")) {
|
if(!localStorage.getItem("encryptionKey")) {
|
||||||
keys = _.merge(keys, Neeto.crypto.generateKeysFromMasterKey(keys.mk));
|
_.merge(keys, Neeto.crypto.generateKeysFromMasterKey(keys.mk));
|
||||||
localStorage.setItem("encryptionKey", keys.encryptionKey);
|
localStorage.setItem("encryptionKey", keys.encryptionKey);
|
||||||
localStorage.setItem("authKey", keys.authKey);
|
localStorage.setItem("authKey", keys.authKey);
|
||||||
} else {
|
} else {
|
||||||
keys = _.merge(keys, {encryptionKey: localStorage.getItem("encryptionKey"), authKey: localStorage.getItem("authKey")});
|
_.merge(keys, {encryptionKey: localStorage.getItem("encryptionKey"), authKey: localStorage.getItem("authKey")});
|
||||||
}
|
}
|
||||||
return keys;
|
return keys;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,12 +91,14 @@ class SNCrypto {
|
|||||||
hmac256(message, key) {
|
hmac256(message, key) {
|
||||||
var keyData = CryptoJS.enc.Hex.parse(key);
|
var keyData = CryptoJS.enc.Hex.parse(key);
|
||||||
var messageData = CryptoJS.enc.Utf8.parse(message);
|
var messageData = CryptoJS.enc.Utf8.parse(message);
|
||||||
return CryptoJS.HmacSHA256(messageData, keyData).toString();
|
var result = CryptoJS.HmacSHA256(messageData, keyData).toString();
|
||||||
|
console.log("HMAC of:", message, "with key:", key, "keyData", keyData, "is:", result);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
generateKeysFromMasterKey(mk) {
|
generateKeysFromMasterKey(mk) {
|
||||||
var encryptionKey = Neeto.crypto.hmac256(mk, "e");
|
var encryptionKey = Neeto.crypto.hmac256(mk, CryptoJS.enc.Utf8.parse("e").toString(CryptoJS.enc.Hex));
|
||||||
var authKey = Neeto.crypto.hmac256(mk, "a");
|
var authKey = Neeto.crypto.hmac256(mk, CryptoJS.enc.Utf8.parse("a").toString(CryptoJS.enc.Hex));
|
||||||
return {encryptionKey: encryptionKey, authKey: authKey};
|
return {encryptionKey: encryptionKey, authKey: authKey};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,9 +122,6 @@ class SNCrypto {
|
|||||||
var pw = keys[0];
|
var pw = keys[0];
|
||||||
var mk = keys[1];
|
var mk = keys[1];
|
||||||
|
|
||||||
var encryptionKey = Neeto.crypto.hmac256(mk, "e");
|
|
||||||
var authKey = Neeto.crypto.hmac256(mk, "a");
|
|
||||||
|
|
||||||
callback(_.merge({pw: pw, mk: mk}, this.generateKeysFromMasterKey(mk)), defaults);
|
callback(_.merge({pw: pw, mk: mk}, this.generateKeysFromMasterKey(mk)), defaults);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user