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 });