diff options
Diffstat (limited to 'chromium/net/third_party/nss/ssl/cmpcert.c')
-rw-r--r-- | chromium/net/third_party/nss/ssl/cmpcert.c | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/chromium/net/third_party/nss/ssl/cmpcert.c b/chromium/net/third_party/nss/ssl/cmpcert.c deleted file mode 100644 index e6edbee83e1..00000000000 --- a/chromium/net/third_party/nss/ssl/cmpcert.c +++ /dev/null @@ -1,89 +0,0 @@ -/* - * NSS utility functions - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include <stdio.h> -#include <string.h> -#include "prerror.h" -#include "secitem.h" -#include "prnetdb.h" -#include "cert.h" -#include "nspr.h" -#include "secder.h" -#include "key.h" -#include "nss.h" - -/* - * Look to see if any of the signers in the cert chain for "cert" are found - * in the list of caNames. - * Returns SECSuccess if so, SECFailure if not. - */ -SECStatus -NSS_CmpCertChainWCANames(CERTCertificate *cert, CERTDistNames *caNames) -{ - SECItem *caname; - CERTCertificate *curcert; - CERTCertificate *oldcert; - PRInt32 contentlen; - int j; - int headerlen; - int depth; - SECStatus rv; - SECItem issuerName; - SECItem compatIssuerName; - - if (!cert || !caNames || !caNames->nnames || !caNames->names || - !caNames->names->data) - return SECFailure; - depth = 0; - curcert = CERT_DupCertificate(cert); - - while (curcert) { - issuerName = curcert->derIssuer; - - /* compute an alternate issuer name for compatibility with 2.0 - * enterprise server, which send the CA names without - * the outer layer of DER header - */ - rv = DER_Lengths(&issuerName, &headerlen, (PRUint32 *)&contentlen); - if (rv == SECSuccess) { - compatIssuerName.data = &issuerName.data[headerlen]; - compatIssuerName.len = issuerName.len - headerlen; - } else { - compatIssuerName.data = NULL; - compatIssuerName.len = 0; - } - - for (j = 0; j < caNames->nnames; j++) { - caname = &caNames->names[j]; - if (SECITEM_CompareItem(&issuerName, caname) == SECEqual) { - rv = SECSuccess; - CERT_DestroyCertificate(curcert); - goto done; - } else if (SECITEM_CompareItem(&compatIssuerName, caname) == SECEqual) { - rv = SECSuccess; - CERT_DestroyCertificate(curcert); - goto done; - } - } - if ((depth <= 20) && - (SECITEM_CompareItem(&curcert->derIssuer, &curcert->derSubject) != - SECEqual)) { - oldcert = curcert; - curcert = CERT_FindCertByName(curcert->dbhandle, - &curcert->derIssuer); - CERT_DestroyCertificate(oldcert); - depth++; - } else { - CERT_DestroyCertificate(curcert); - curcert = NULL; - } - } - rv = SECFailure; - -done: - return rv; -} |