1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 /* 6 * x.509 v3 certificate extension helper routines 7 * 8 */ 9 10 #ifndef _CERTXUTL_H_ 11 #define _CERTXUTL_H_ 12 13 #include "nspr.h" 14 15 #ifdef OLD 16 typedef enum { 17 CertificateExtensions, 18 CrlExtensions, 19 OCSPRequestExtensions, 20 OCSPSingleRequestExtensions, 21 OCSPResponseSingleExtensions 22 } ExtensionsType; 23 #endif 24 25 extern PRBool cert_HasCriticalExtension(CERTCertExtension **extensions); 26 27 extern SECStatus CERT_FindBitStringExtension(CERTCertExtension **extensions, 28 int tag, SECItem *retItem); 29 extern void *cert_StartExtensions(void *owner, PLArenaPool *arena, 30 void (*setExts)(void *object, 31 CERTCertExtension **exts)); 32 33 extern SECStatus cert_FindExtension(CERTCertExtension **extensions, int tag, 34 SECItem *value); 35 36 extern SECStatus cert_FindExtensionByOID(CERTCertExtension **extensions, 37 SECItem *oid, SECItem *value); 38 39 extern SECStatus cert_GetExtenCriticality(CERTCertExtension **extensions, 40 int tag, PRBool *isCritical); 41 42 extern PRBool cert_HasUnknownCriticalExten(CERTCertExtension **extensions); 43 44 #endif 45