tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_security-info-certificate.js (3436B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 "use strict";
      4 
      5 // Tests that NetworkHelper.parseCertificateInfo parses certificate information
      6 // correctly.
      7 
      8 const DUMMY_CERT = {
      9  getBase64DERString() {
     10    // This is the base64-encoded contents of the "DigiCert ECC Secure Server CA"
     11    // intermediate certificate as issued by "DigiCert Global Root CA". It was
     12    // chosen as a test certificate because it has an issuer common name,
     13    // organization, and organizational unit that are somewhat distinct from
     14    // its subject common name and organization name.
     15    return "MIIDrDCCApSgAwIBAgIQCssoukZe5TkIdnRw883GEjANBgkqhkiG9w0BAQwFADBhMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0xMzAzMDgxMjAwMDBaFw0yMzAzMDgxMjAwMDBaMEwxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJjAkBgNVBAMTHURpZ2lDZXJ0IEVDQyBTZWN1cmUgU2VydmVyIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4ghC6nfYJN6gLGSkE85AnCNyqQIKDjc/ITa4jVMU9tWRlUvzlgKNcR7E2Munn17voOZ/WpIRllNv68DLP679Wz9HJOeaBy6Wvqgvu1cYr3GkvXg6HuhbPGtkESvMNCuMo4IBITCCAR0wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNybDA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAdBgNVHQ4EFgQUo53mH/naOU/AbuiRy5Wl2jHiCp8wHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEMBQADggEBAMeKoENL7HTJxavVHzA1Nm6YVntIrAVjrnuaVyRXzG/63qttnMe2uuzO58pzZNvfBDcKAEmzP58mrZGMIOgfiA4q+2Y3yDDo0sIkp0VILeoBUEoxlBPfjV/aKrtJPGHzecicZpIalir0ezZYoyxBEHQa0+1IttK7igZFcTMQMHp6mCHdJLnsnLWSB62DxsRq+HfmNb4TDydkskO/g+l3VtsIh5RHFPVfKK+jaEyDj2D3loB5hWp2Jp2VDCADjT7ueihlZGak2YPqmXTNbk19HOuNssWvFhtOyPNV6og4ETQdEa8/B6hPatJ0ES8q/HO3X8IVQwVs1n3aAr0im0/T+Xc=";
     16  },
     17 };
     18 
     19 add_task(async function run_test() {
     20  info("Testing NetworkHelper.parseCertificateInfo.");
     21 
     22  const result = await NetworkHelper.parseCertificateInfo(
     23    DUMMY_CERT,
     24    new Map()
     25  );
     26 
     27  // Subject
     28  equal(
     29    result.subject.commonName,
     30    "DigiCert ECC Secure Server CA",
     31    "Common name is correct."
     32  );
     33  equal(
     34    result.subject.organization,
     35    "DigiCert Inc",
     36    "Organization is correct."
     37  );
     38  equal(
     39    result.subject.organizationUnit,
     40    undefined,
     41    "Organizational unit is correct."
     42  );
     43 
     44  // Issuer
     45  equal(
     46    result.issuer.commonName,
     47    "DigiCert Global Root CA",
     48    "Common name of the issuer is correct."
     49  );
     50  equal(
     51    result.issuer.organization,
     52    "DigiCert Inc",
     53    "Organization of the issuer is correct."
     54  );
     55  equal(
     56    result.issuer.organizationUnit,
     57    "www.digicert.com",
     58    "Organizational unit of the issuer is correct."
     59  );
     60 
     61  // Validity
     62  equal(
     63    result.validity.start,
     64    "Fri, 08 Mar 2013 12:00:00 GMT",
     65    "Start of the validity period is correct."
     66  );
     67  equal(
     68    result.validity.end,
     69    "Wed, 08 Mar 2023 12:00:00 GMT",
     70    "End of the validity period is correct."
     71  );
     72 
     73  // Fingerprints
     74  equal(
     75    result.fingerprint.sha1,
     76    "56:EE:7C:27:06:83:16:2D:83:BA:EA:CC:79:0E:22:47:1A:DA:AB:E8",
     77    "Certificate SHA1 fingerprint is correct."
     78  );
     79  equal(
     80    result.fingerprint.sha256,
     81    "45:84:46:BA:75:D9:32:E9:14:F2:3C:2B:57:B7:D1:92:ED:DB:C2:18:1D:95:8E:11:81:AD:52:51:74:7A:1E:E8",
     82    "Certificate SHA256 fingerprint is correct."
     83  );
     84 });