diff --git a/src/js/main.js b/src/js/main.js index cfbd83b..5f387cc 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -43,7 +43,7 @@ $(function() { if (!roomId) return; - if ((!window.crypto && !window.msCrypto) || !window.crypto.subtle) { + if (!window.crypto || (!window.crypto.subtle && !window.crypto.webkitSubtle)) { $('#no-crypto').modal({ backdrop: 'static', show: false, @@ -54,6 +54,7 @@ $(function() { } var crypto = window.crypto; + var cryptoSubtle = window.crypto.subtle || window.crypto.webkitSubtle; let socket = io(roomId); $('#roomIdKey').text(roomId.replace('/', '')); @@ -579,25 +580,25 @@ $(function() { } function createKey(password) { - return crypto.subtle.digest({ + return cryptoSubtle.digest({ name: "SHA-256" }, convertStringToArrayBufferView(password)) .then(function(result) { - return window.crypto.subtle.importKey("raw", result, { + return cryptoSubtle.importKey("raw", result, { name: "AES-CBC" }, false, ["encrypt", "decrypt"]); }); } function encryptData(data, key, vector) { - return crypto.subtle.encrypt({ + return cryptoSubtle.encrypt({ name: "AES-CBC", iv: vector }, key, convertStringToArrayBufferView(data)); } function decryptData(data, key, vector) { - return crypto.subtle.decrypt({ + return cryptoSubtle.decrypt({ name: "AES-CBC", iv: vector }, key, data); diff --git a/src/views/index.mustache b/src/views/index.mustache index 61335e2..3ce4168 100644 --- a/src/views/index.mustache +++ b/src/views/index.mustache @@ -188,7 +188,7 @@
Your browser does not support the Crypto Web API.
-Try using the lastest version of Chrome or Firefox.
+Try using the lastest version of Chrome, Firefox or Safari.