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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user