Bug 1570973 - Adds missing certificate chain information in about:certificate.r=johannh

Differential Revision: https://phabricator.services.mozilla.com/D40635
This commit is contained in:
Carolina
2019-08-08 00:58:40 +00:00
parent 71e560ce36
commit 6799bd53fc
2 changed files with 32 additions and 4 deletions

View File

@@ -3638,8 +3638,13 @@ var BrowserOnClick = {
securityInfo = getSecurityInfo(securityInfoAsString);
cert = securityInfo.serverCert;
if (Services.prefs.getBoolPref("security.aboutcertificate.enabled")) {
let derb64 = encodeURIComponent(cert.getBase64DERString());
let url = `about:certificate?cert=${derb64}`;
let certChain = getCertificateChain(securityInfo.failedCertChain);
let certs = certChain.map(elem =>
encodeURIComponent(elem.getBase64DERString())
);
let certsStringURL = certs.map(elem => `cert=${elem}`);
certsStringURL = certsStringURL.join("&");
let url = `about:certificate?${certsStringURL}`;
openTrustedLinkIn(url, "tab", {
triggeringPrincipal: browser.contentPrincipal,
});
@@ -3987,6 +3992,14 @@ function getPEMString(cert) {
);
}
function getCertificateChain(certChain) {
let certificates = [];
for (let cert of certChain.getEnumerator()) {
certificates.push(cert);
}
return certificates;
}
var PrintPreviewListener = {
_printPreviewTab: null,
_simplifiedPrintPreviewTab: null,