source: portal_2019/js/partial-1.js @ 3483075

devportal
Last change on this file since 3483075 was 0155753, checked in by Argenis Osorio <argenisosorio580@…>, 9 months ago

Agregados archivos restantes al seguimiento de git

  • Property mode set to 100755
File size: 1.9 KB
Line 
1function asciiToUint8Array(str) {
2  var chars = [];
3  for (var i = 0; i < str.length; ++i) {
4    chars.push(str.charCodeAt(i));
5  }
6  return new Uint8Array(chars);
7}
8
9function convertStringToArrayBufferView(str) {
10  var bytes = new Uint8Array(str.length);
11  for (var iii = 0; iii < str.length; iii++) {
12    bytes[iii] = str.charCodeAt(iii);
13  }
14  return bytes;
15}
16
17function buf2hex ( buffer ) {
18  return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');
19}
20
21function log_text(s) {
22  var d = document.createElement("div");
23  d.innerHTML = s;
24  document.getElementById('log').appendChild(d);
25}
26
27function debug() {
28  window.hwcrypto.debug().then(function(response) {log_text("Debug: " + response);});
29}
30
31function sign() {
32
33  alert("sign()");
34
35  // Clear log
36  document.getElementById('log').innerHTML = '';
37  // Timestamp
38  log_text("sign() clicked on " + new Date().toUTCString());
39
40  // Select hash
41  var hashtype = "SHA-256";
42
43  // Set backend if asked
44  var backend = "autodetect";
45
46  // get language
47  var lang = "en";
48  if (!window.hwcrypto.use(backend)) {
49    log_text("Selecting backend failed.");
50  }
51
52  var hash = $("#hashvalue").val();
53  log_text("Signing " + hashtype + ": " + hash);
54
55  // debug
56  window.hwcrypto.debug().then(function(response) {
57    log_text("Debug: " + response);
58  }, function(err) {
59    log_text("debug() failed: " + err);
60    return;
61  });
62
63  // Sign
64  window.hwcrypto.getCertificate({lang: lang}).then(function(response) {
65    var cert = response;
66    log_text("Using certificate:\n" + hexToPem(response.hex));
67    window.hwcrypto.sign(cert, {type: hashtype, hex: hash}, {lang: lang}).then(
68      function(response) {
69        log_text("Generated signature:\n" + response.hex.match(/.{1,64}/g).join("\n"));
70      },
71      function(err) { log_text("sign() failed: " + err); }
72    );
73  },
74    function(err) { log_text("getCertificate() failed: " + err); }
75  );
76}
Note: See TracBrowser for help on using the repository browser.