diff --git a/firefox_addon/lib/hmac.js b/firefox_addon/lib/hmac.js new file mode 100644 index 0000000..a70525d --- /dev/null +++ b/firefox_addon/lib/hmac.js @@ -0,0 +1,40 @@ +/* + Copyright (C) 2013 Grégory Soutadé + + This file is part of gPass. + + gPass is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + gPass is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with gPass. If not, see . +*/ + +var {Cc, Ci} = require("chrome"); + +var hmac = Cc["@mozilla.org/security/hmac;1"] + .createInstance(Ci.nsICryptoHMAC); + +function hmac_init(key) { + var keyObject = Cc["@mozilla.org/security/keyobjectfactory;1"] + .getService(Ci.nsIKeyObjectFactory) + .keyFromString(Ci.nsIKeyObject.HMAC, key); + hmac.init(hmac.SHA256, keyObject); +} + +function hmac_digest(message) { + var data = new Uint8Array(message.length); + for(i=0; i. */ -var {Cc, Ci} = require("chrome"); - -var hmac = Cc["@mozilla.org/security/hmac;1"] - .createInstance(Ci.nsICryptoHMAC); - -function hmac_init(key) { - var keyObject = Cc["@mozilla.org/security/keyobjectfactory;1"] - .getService(Ci.nsIKeyObjectFactory) - .keyFromString(Ci.nsIKeyObject.HMAC, key); - hmac.init(hmac.SHA256, keyObject); -} - -function hmac_digest(message) { - var data = new Uint8Array(message.length); - for(i=0; i