tanx updates

This commit is contained in:
Bart Butler 2015-05-22 12:02:23 -07:00
parent e8465350fc
commit 2a89baa837
2 changed files with 15 additions and 15 deletions

View File

@ -140,17 +140,6 @@ function RSA() {
// Native RSA keygen using Web Crypto // Native RSA keygen using Web Crypto
// //
function convertKeyOperation(keyop, errmsg) {
return new Promise(function(resolve, reject) {
keyop.onerror = function (err) {
reject(new Error(errmsg));
}
keyop.oncomplete = function (e) {
resolve(e.target.result);
}
});
}
if (webCrypto) { if (webCrypto) {
var Euint32 = new Uint32Array([parseInt(E, 16)]); // get integer of exponent var Euint32 = new Uint32Array([parseInt(E, 16)]); // get integer of exponent
var Euint8 = new Uint8Array(Euint32.buffer); // get bytes of exponent var Euint8 = new Uint8Array(Euint32.buffer); // get bytes of exponent
@ -195,8 +184,8 @@ function RSA() {
function exportKey(keypair) { function exportKey(keypair) {
// export the generated keys as JsonWebKey (JWK) // export the generated keys as JsonWebKey (JWK)
// https://tools.ietf.org/html/draft-ietf-jose-json-web-key-33 // https://tools.ietf.org/html/draft-ietf-jose-json-web-key-33
key = webCrypto.exportKey('jwk', keypair.privateKey); var key = webCrypto.exportKey('jwk', keypair.privateKey);
if(!(key instanceof Promise)) { // IE11 KeyOperation if (!(key instanceof Promise)) { // IE11 KeyOperation
key = convertKeyOperation(key, 'Error exporting RSA key pair.'); key = convertKeyOperation(key, 'Error exporting RSA key pair.');
} }
return key; return key;
@ -221,6 +210,17 @@ function RSA() {
return key; return key;
} }
function convertKeyOperation(keyop, errmsg) {
return new Promise(function(resolve, reject) {
keyop.onerror = function (err) {
reject(new Error(errmsg));
}
keyop.oncomplete = function (e) {
resolve(e.target.result);
}
});
}
// //
// JS code // JS code
// //

View File

@ -321,10 +321,10 @@ module.exports = {
} }
if (typeof window !== 'undefined') { if (typeof window !== 'undefined') {
if(window.crypto) { if (window.crypto) {
return window.crypto.subtle || window.crypto.webkitSubtle; return window.crypto.subtle || window.crypto.webkitSubtle;
} }
if(window.msCrypto) { if (window.msCrypto) {
return window.msCrypto.subtle; return window.msCrypto.subtle;
} }
} }