function log_text(s) { var d = document.createElement("div"); d.innerHTML = s; document.getElementById('log').appendChild(d); } function debug() { window.hwcrypto.debug().then(function(response) {log_text("Debug: " + response);}); } function sign() { alert("sign()"); // Clear log document.getElementById('log').innerHTML = ''; // Timestamp log_text("sign() clicked on " + new Date().toUTCString()); // Select hash //var hashtype = $("input[name=hash]:checked").val(); var hashtype = "SHA-256"; // Set backend if asked //var backend = $("input[name=backend]:checked").val() var backend = "autodetect"; // get language var lang = "en"; if (!window.hwcrypto.use(backend)) { log_text("Selecting backend failed."); } var hash = $("#hashvalue").val(); log_text("Signing " + hashtype + ": " + hash); // debug window.hwcrypto.debug().then(function(response) { log_text("Debug: " + response); }, function(err) { log_text("debug() failed: " + err); return; }); // Sign window.hwcrypto.getCertificate({lang: lang}).then(function(response) { var cert = response; log_text("Using certificate:\n" + hexToPem(response.hex)); window.hwcrypto.sign(cert, {type: hashtype, hex: hash}, {lang: lang}).then(function(response) { log_text("Generated signature:\n" + response.hex.match(/.{1,64}/g).join("\n")); }, function(err) { log_text("sign() failed: " + err); }); }, function(err) { log_text("getCertificate() failed: " + err); } ); } function logGetCertificate() { alert("logGetCertificate()"); // Clear log document.getElementById('log').innerHTML = ''; // Timestamp log_text("sign() clicked on " + new Date().toUTCString()); // Select hash //var hashtype = $("input[name=hash]:checked").val(); var hashtype = "SHA-256"; // Set backend if asked //var backend = $("input[name=backend]:checked").val() var backend = "autodetect"; // get language var lang = "en"; if (!window.hwcrypto.use(backend)) { log_text("Selecting backend failed."); } var hash = $("#hashvalue").val(); log_text("Signing " + hashtype + ": " + hash); // debug window.hwcrypto.debug().then(function(response) { log_text("Debug: " + response); }, function(err) { log_text("debug() failed: " + err); return; }); // Sign window.hwcrypto.getCertificate({lang: lang}).then(function(response) { var cert = response; log_text("Using certificate:\n" + hexToPem(response.hex)); }); } function getCertificate() { alert("getCertificate()"); // Clear log document.getElementById('log').innerHTML = ''; // Timestamp log_text("sign() clicked on " + new Date().toUTCString()); // Set backend if asked //var backend = $("input[name=backend]:checked").val() var backend = "autodetect"; // get language var lang = "en"; if (!window.hwcrypto.use(backend)) { log_text("Selecting backend failed."); } window.hwcrypto.getCertificate({lang: lang}).then(function(response) { var cert = response; log_text("Using certificate:\n" + hexToPem(response.hex)); return cert; }); }