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 * pkix_pl_x500name.h 6 * 7 * X500Name Object Type Definitions 8 * 9 */ 10 11 #ifndef _PKIX_PL_X500NAME_H 12 #define _PKIX_PL_X500NAME_H 13 14 #include "pkix_pl_common.h" 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 21 struct PKIX_PL_X500NameStruct{ 22 PLArenaPool *arena; /* X500Name arena. Shared arena with nssDN 23 * and derName */ 24 CERTName nssDN; 25 SECItem derName; /* adding DER encoded CERTName to the structure 26 * to avoid unnecessary name encoding when pass 27 * der name to cert finder */ 28 }; 29 30 /* see source file for function documentation */ 31 32 PKIX_Error *pkix_pl_X500Name_RegisterSelf(void *plContext); 33 34 PKIX_Error *pkix_pl_X500Name_GetDERName( 35 PKIX_PL_X500Name *xname, 36 PLArenaPool *arena, 37 SECItem **pSECName, 38 void *plContext); 39 40 #ifdef BUILD_LIBPKIX_TESTS 41 PKIX_Error * pkix_pl_X500Name_CreateFromUtf8( 42 char *stringRep, 43 PKIX_PL_X500Name **pName, 44 void *plContext); 45 #endif /* BUILD_LIBPKIX_TESTS */ 46 47 PKIX_Error *pkix_pl_X500Name_GetCommonName( 48 PKIX_PL_X500Name *xname, 49 unsigned char **pCommonName, 50 void *plContext); 51 52 PKIX_Error * 53 pkix_pl_X500Name_GetCountryName( 54 PKIX_PL_X500Name *xname, 55 unsigned char **pCountryName, 56 void *plContext); 57 58 PKIX_Error * 59 pkix_pl_X500Name_GetOrgName( 60 PKIX_PL_X500Name *xname, 61 unsigned char **pOrgName, 62 void *plContext); 63 64 PKIX_Error * 65 pkix_pl_X500Name_GetCERTName( 66 PKIX_PL_X500Name *xname, 67 CERTName **pCERTName, 68 void *plContext); 69 70 #ifdef __cplusplus 71 } 72 #endif 73 74 #endif /* _PKIX_PL_X500NAME_H */ 75