andre@0: /* This Source Code Form is subject to the terms of the Mozilla Public andre@0: * License, v. 2.0. If a copy of the MPL was not distributed with this andre@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ andre@0: andre@0: /* andre@0: * x.509 v3 certificate extension helper routines andre@0: * andre@0: */ andre@0: andre@0: andre@0: #ifndef _CERTXUTL_H_ andre@0: #define _CERTXUTL_H_ andre@0: andre@0: #include "nspr.h" andre@0: andre@0: #ifdef OLD andre@0: typedef enum { andre@0: CertificateExtensions, andre@0: CrlExtensions, andre@0: OCSPRequestExtensions, andre@0: OCSPSingleRequestExtensions, andre@0: OCSPResponseSingleExtensions andre@0: } ExtensionsType; andre@0: #endif andre@0: andre@0: extern PRBool andre@0: cert_HasCriticalExtension (CERTCertExtension **extensions); andre@0: andre@0: extern SECStatus andre@0: CERT_FindBitStringExtension (CERTCertExtension **extensions, andre@0: int tag, SECItem *retItem); andre@0: extern void * andre@0: cert_StartExtensions (void *owner, PLArenaPool *arena, andre@0: void (*setExts)(void *object, CERTCertExtension **exts)); andre@0: andre@0: extern SECStatus andre@0: cert_FindExtension (CERTCertExtension **extensions, int tag, SECItem *value); andre@0: andre@0: extern SECStatus andre@0: cert_FindExtensionByOID (CERTCertExtension **extensions, andre@0: SECItem *oid, SECItem *value); andre@0: andre@0: extern SECStatus andre@0: cert_GetExtenCriticality (CERTCertExtension **extensions, andre@0: int tag, PRBool *isCritical); andre@0: andre@0: extern PRBool andre@0: cert_HasUnknownCriticalExten (CERTCertExtension **extensions); andre@0: andre@0: #endif