@@ -1,12 +1,13 @@ var globalCerts = null; function displayCerts(htmlObject, certs) { var html = ""; var idx; - var cert; + var cert, certTitle; var certObj; + var ignoredException; if (certs.length == 0) { htmlObject.innerHTML = "No certificates found"; return; @@ -19,17 +20,31 @@ for (idx = 0; idx < certs.length; idx++) { cert = certs[idx]; certObj.readCertHex(BAtohex(new Uint8Array(cert.certificate))); + certTitle = certObj.getSubjectString(); + try { + certObj.getExtSubjectAltName2().forEach(function(itemPair) { + var itemName, itemValue; + + itemName = itemPair[0]; + itemValue = itemPair[1]; + + if (itemName === "MAIL") { + certTitle = itemValue; + } + }); + } catch (ignoredException) {}; + html += "\t
  • "; - html += "\t\t" + certObj.getSubjectString() + ":" + certObj.getSerialNumberHex(); + html += "\t\t" + certTitle; html += "\t\t
      "; html += "\t\t\t
    1. Serial Number: " + certObj.getSerialNumberHex() + "
    2. "; try { html += "\t\t\t
    3. Usage: " + certObj.getExtKeyUsageString() + "
    4. "; - } catch (_) {}; + } catch (ignoredException) {}; html += "\t\t
    "; html += "\t
  • "; } html += ""; @@ -120,16 +135,22 @@ function clearStatusInfo() { document.getElementById('certificates').innerHTML = 'Loading...'; document.getElementById('smartcard_readers').innerHTML = 'Loading...'; document.getElementById('certificate_provider').innerHTML = 'Loading...'; + document.getElementById('pin_caching_timeout').value = ''; + document.getElementById('ssh_agent_enabled').checked = false; + document.getElementById('ssh_agent_keys').checked = false; + document.getElementById('ssh_agent_certs').checked = false; + document.getElementById('ssh_agent_certs_legacy').checked = false; } function loadStatusInfo() { updateCertificates(document.getElementById('certificates')); updateSmartcardReaders(document.getElementById('smartcard_readers')); updateCertificateProvider(document.getElementById('certificate_provider')); + // updateOptions(getOptions()); } setTimeout(function() { loadStatusInfo();