Show warning message if web crypto is not available

This commit is contained in:
Jonathan Underwood 2021-12-17 08:42:37 +09:00
parent f20a32101b
commit 9bac24f177
2 changed files with 10 additions and 1 deletions

View File

@ -90,6 +90,7 @@
<div id="content" class="container">
<noscript class="alert alert-danger center-block"><span class="glyphicon glyphicon-exclamation-sign"></span> This page uses javascript, please enable it to continue!</noscript>
<div id="cryptoRandomStatus" class="alert alert-danger center-block hidden"><span class="glyphicon glyphicon-exclamation-sign"></span> This browser does not have a secure random number generator! Please use at your own risk!</div>
<div class="tab-content">
<div class="tab-pane tab-content active" id="home">

View File

@ -45,7 +45,15 @@
/* generate crypto secure random numbers (should exist on most browsers) */
coinjs.randomBytesSafe = function(count){
var cry = window.crypto || window.msCrypto;
if (!cry) return '';
if (!cry) {
/* Display warning message for 30 seconds */
$("#cryptoRandomStatus").removeClass("hidden");
setTimeout(function(){
$("#cryptoRandomStatus").addClass("hidden");
}, 30000);
return '';
}
var buf = new Uint8Array(count);
cry.getRandomValues(buf);
return Crypto.util.bytesToHex(buf);