Bug 1592355 - Convert certList to raw array for Pins verification r=keeler

Differential Revision: https://phabricator.services.mozilla.com/D50967
This commit is contained in:
Sean Feng
2019-10-31 23:56:32 +00:00
parent 8e567fe18f
commit 175344503c
9 changed files with 131 additions and 80 deletions

View File

@@ -1062,17 +1062,14 @@ nsresult nsSiteSecurityService::ProcessPKPHeader(
return NS_ERROR_FAILURE;
}
// This copy to produce an nsNSSCertList should also be removed in Bug
// #1406854
nsCOMPtr<nsIX509CertList> x509CertList =
new nsNSSCertList(std::move(certList));
if (!x509CertList) {
nsTArray<RefPtr<nsIX509Cert>> nssCertList;
rv = nsNSSCertificateDB::ConstructCertArrayFromUniqueCertList(certList,
nssCertList);
if (NS_FAILED(rv)) {
return rv;
}
RefPtr<nsNSSCertList> nssCertList = x509CertList->GetCertList();
nsCOMPtr<nsIX509Cert> rootCert;
rv = nssCertList->GetRootCertificate(rootCert);
rv = nsNSSCertificate::GetRootCertificate(nssCertList, rootCert);
if (NS_FAILED(rv)) {
return rv;
}