cryptlib  3.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
Classes | Macros | Typedefs | Functions | Variables
certattr.h File Reference

Go to the source code of this file.

Classes

struct  ATTRIBUTE_INFO
 
struct  AL
 

Macros

#define FL_VALID_CERT   0x0001 /* Valid in a certificate */
 
#define FL_VALID_ATTRCERT   0x0002 /* Valid in an attribute cert */
 
#define FL_VALID_CRL   0x0004 /* Valid in a CRL */
 
#define FL_VALID_CERTREQ   0x0008 /* Valid in a cert.request */
 
#define FL_VALID_REVREQ   0x0010 /* Valid in a rev.request */
 
#define FL_VALID_OCSPREQ   0x0010 /* Valid in an OCSP request */
 
#define FL_VALID_OCSPRESP   0x0010 /* Valid in an OCSP response */
 
#define FL_LEVEL_OBLIVIOUS   0x0000 /* Process at oblivious compliance level */
 
#define FL_LEVEL_REDUCED   0x0100 /* Process at reduced compliance level */
 
#define FL_LEVEL_STANDARD   0x0200 /* Process at standard compliance level */
 
#define FL_LEVEL_PKIX_PARTIAL   0x0300 /* Process at partial PKIX compliance level */
 
#define FL_LEVEL_PKIX_FULL   0x0400 /* Process at full PKIX compliance level */
 
#define FL_ATTR_NOCOPY   0x1000 /* Attr.isn't copied when attrs.copied */
 
#define FL_ATTR_CRITICAL   0x2000 /* Extension is marked critical */
 
#define FL_ATTR_ATTRSTART   0x4000 /* Start-of-attribute marker */
 
#define FL_ATTR_ATTREND   0x8000 /* End-of-attribute marker */
 
#define FL_VALID_MASK   0x1F /* Mask for type-validity value */
 
#define FL_LEVEL_SHIFT   8 /* Shift amount to get into range 0...n */
 
#define FL_LEVEL_MASK   7 /* Mask for compliance level value */
 
#define FL_SEQEND   0x0001 /* End of constructed object */
 
#define FL_SEQEND_2   0x0002 /* End of cons.obj + one nesting lvl.*/
 
#define FL_SEQEND_3   0x0003 /* End of cons.obj + two nesting lvls.*/
 
#define FL_SEQEND_4   0x0004 /* End of cons.obj + three nesting lvls.*/
 
#define FL_SEQEND_5   0x0005 /* End of cons.obj + four nesting lvls.*/
 
#define FL_SEQEND_6   0x0006 /* End of cons.obj + four nesting lvls.*/
 
#define FL_SEQEND_7   0x0007 /* End of cons.obj + four nesting lvls.*/
 
#define FL_SEQEND_MASK   7 /* Mask for sequence control value */
 
#define FL_OPTIONAL   0x0010 /* Field is optional */
 
#define FL_DEFAULT   0x0020 /* Field has default value */
 
#define FL_EXPLICIT   0x0040 /* Field is explicitly tagged */
 
#define FL_IDENTIFIER   0x0080 /* Following field contains selection OID */
 
#define FL_SETOF   0x0100 /* Start of SET/SEQ OF values */
 
#define FL_EMPTYOK   0x0200 /* SET/SEQ may be empty */
 
#define FL_NONENCODING   0x0400 /* Field is a non-encoding value */
 
#define FL_MULTIVALUED   0x0800 /* Field can occur multiple times */
 
#define decodeNestingLevel(value)   ( ( value ) & FL_SEQEND_MASK )
 
#define decodeComplianceLevel(value)   ( ( ( value ) >> FL_LEVEL_SHIFT ) & FL_LEVEL_MASK )
 
#define isAttributeStart(attributeInfoPtr)   ( ( attributeInfoPtr )->typeInfoFlags & FL_ATTR_ATTRSTART )
 
#define FIELDTYPE_IDENTIFIER   ( -2 )
 
#define FIELDTYPE_BLOB_ANY   ( -3 )
 
#define FIELDTYPE_BLOB_BITSTRING   ( -4 )
 
#define FIELDTYPE_BLOB_SEQUENCE   ( -5 )
 
#define FIELDTYPE_CHOICE   ( -6 )
 
#define FIELDTYPE_DN   ( -7 )
 
#define FIELDTYPE_SUBTYPED   ( -8 )
 
#define FIELDTYPE_TEXTSTRING   ( -9 )
 
#define FIELDID_FOLLOWS   ( -10 )
 
#define isBlobField(field)
 
#define DESCRIPTION(text)   text,
 
#define ATTR_FLAG_NONE   0x0000 /* No flag */
 
#define ATTR_FLAG_CRITICAL   0x0001 /* Critical cert extension */
 
#define ATTR_FLAG_LOCKED   0x0002 /* Field can't be modified */
 
#define ATTR_FLAG_BLOB   0x0004 /* Non-type-checked blob data */
 
#define ATTR_FLAG_BLOB_PAYLOAD   0x0008 /* Payload is non-type-checked blob data */
 
#define ATTR_FLAG_MULTIVALUED   0x0010 /* Multiple instances allowed */
 
#define ATTR_FLAG_DEFAULTVALUE   0x0020 /* Field has default value */
 
#define ATTR_FLAG_IGNORED   0x0040 /* Attribute ignored at this compl.level */
 
#define ATTR_FLAG_MAX   0x007F /* Maximum possible flag value */
 
#define ATTR_FLAGS_COMPARE_MASK   ( ATTR_FLAG_CRITICAL )
 

Typedefs

typedef struct AL ATTRIBUTE_LIST
 
typedef CHECK_RETVAL_FNPTR STDC_NONNULL_ARG ((1)) int(*VALIDATION_FUNCTION)(const ATTRIBUTE_LIST *attributeListPtr)
 

Functions

CHECK_RETVAL_PTR STDC_NONNULL_ARG ((2)) const ATTRIBUTE_INFO *oidToAttribute(IN_ENUM(ATTRIBUTE) const ATTRIBUTE_TYPE attributeType
 
CHECK_RETVAL_PTR IN_BUFFER (oidLength) const BYTE *oid
 
CHECK_RETVAL STDC_NONNULL_ARG ((2, 3)) int getAttributeInfo(IN_ENUM(ATTRIBUTE) const ATTRIBUTE_TYPE attributeType
 
 CHECK_RETVAL_RANGE (MAX_ERROR, MAX_TAG) STDC_NONNULL_ARG((1)) int getFieldEncodedTag(const ATTRIBUTE_INFO *attributeInfoPtr)
 
CHECK_RETVAL_PTR const
ATTRIBUTE_INFO
fieldIDToAttribute (IN_ENUM(ATTRIBUTE) const ATTRIBUTE_TYPE attributeType, IN_ATTRIBUTE const CRYPT_ATTRIBUTE_TYPE fieldID, IN_ATTRIBUTE_OPT const CRYPT_ATTRIBUTE_TYPE subFieldID, OUT_OPT_ATTRIBUTE_Z CRYPT_ATTRIBUTE_TYPE *attributeID)
 
CHECK_RETVAL_PTR ATTRIBUTE_LISTfindAttributeStart (IN_OPT const ATTRIBUTE_LIST *attributeListPtr)
 
CHECK_RETVAL INOUT ATTRIBUTE_LIST IN_RANGE (0, 4) const int complianceLevel)
 

Variables

CHECK_RETVAL_PTR IN_LENGTH_OID
const int 
oidLength
 
CHECK_RETVAL OUT const
ATTRIBUTE_INFO ** 
attributeInfoPtrPtr
 
CHECK_RETVAL OUT const
ATTRIBUTE_INFO OUT_INT_Z int * 
noAttributeEntries
 
CHECK_RETVAL INOUT ATTRIBUTE_LISTattributeListPtr
 

Macro Definition Documentation

#define ATTR_FLAG_BLOB   0x0004 /* Non-type-checked blob data */

Definition at line 375 of file certattr.h.

#define ATTR_FLAG_BLOB_PAYLOAD   0x0008 /* Payload is non-type-checked blob data */

Definition at line 376 of file certattr.h.

#define ATTR_FLAG_CRITICAL   0x0001 /* Critical cert extension */

Definition at line 373 of file certattr.h.

#define ATTR_FLAG_DEFAULTVALUE   0x0020 /* Field has default value */

Definition at line 378 of file certattr.h.

#define ATTR_FLAG_IGNORED   0x0040 /* Attribute ignored at this compl.level */

Definition at line 379 of file certattr.h.

#define ATTR_FLAG_LOCKED   0x0002 /* Field can't be modified */

Definition at line 374 of file certattr.h.

#define ATTR_FLAG_MAX   0x007F /* Maximum possible flag value */

Definition at line 380 of file certattr.h.

#define ATTR_FLAG_MULTIVALUED   0x0010 /* Multiple instances allowed */

Definition at line 377 of file certattr.h.

#define ATTR_FLAG_NONE   0x0000 /* No flag */

Definition at line 372 of file certattr.h.

#define ATTR_FLAGS_COMPARE_MASK   ( ATTR_FLAG_CRITICAL )

Definition at line 386 of file certattr.h.

#define decodeComplianceLevel (   value)    ( ( ( value ) >> FL_LEVEL_SHIFT ) & FL_LEVEL_MASK )

Definition at line 185 of file certattr.h.

#define decodeNestingLevel (   value)    ( ( value ) & FL_SEQEND_MASK )

Definition at line 178 of file certattr.h.

#define DESCRIPTION (   text)    text,

Definition at line 342 of file certattr.h.

#define FIELDID_FOLLOWS   ( -10 )

Definition at line 282 of file certattr.h.

#define FIELDTYPE_BLOB_ANY   ( -3 )

Definition at line 227 of file certattr.h.

#define FIELDTYPE_BLOB_BITSTRING   ( -4 )

Definition at line 228 of file certattr.h.

#define FIELDTYPE_BLOB_SEQUENCE   ( -5 )

Definition at line 229 of file certattr.h.

#define FIELDTYPE_CHOICE   ( -6 )

Definition at line 238 of file certattr.h.

#define FIELDTYPE_DN   ( -7 )

Definition at line 245 of file certattr.h.

#define FIELDTYPE_IDENTIFIER   ( -2 )

Definition at line 211 of file certattr.h.

#define FIELDTYPE_SUBTYPED   ( -8 )

Definition at line 254 of file certattr.h.

#define FIELDTYPE_TEXTSTRING   ( -9 )

Definition at line 268 of file certattr.h.

#define FL_ATTR_ATTREND   0x8000 /* End-of-attribute marker */

Definition at line 146 of file certattr.h.

#define FL_ATTR_ATTRSTART   0x4000 /* Start-of-attribute marker */

Definition at line 145 of file certattr.h.

#define FL_ATTR_CRITICAL   0x2000 /* Extension is marked critical */

Definition at line 144 of file certattr.h.

#define FL_ATTR_NOCOPY   0x1000 /* Attr.isn't copied when attrs.copied */

Definition at line 143 of file certattr.h.

#define FL_DEFAULT   0x0020 /* Field has default value */

Definition at line 165 of file certattr.h.

#define FL_EMPTYOK   0x0200 /* SET/SEQ may be empty */

Definition at line 169 of file certattr.h.

#define FL_EXPLICIT   0x0040 /* Field is explicitly tagged */

Definition at line 166 of file certattr.h.

#define FL_IDENTIFIER   0x0080 /* Following field contains selection OID */

Definition at line 167 of file certattr.h.

#define FL_LEVEL_MASK   7 /* Mask for compliance level value */

Definition at line 150 of file certattr.h.

#define FL_LEVEL_OBLIVIOUS   0x0000 /* Process at oblivious compliance level */

Definition at line 137 of file certattr.h.

#define FL_LEVEL_PKIX_FULL   0x0400 /* Process at full PKIX compliance level */

Definition at line 141 of file certattr.h.

#define FL_LEVEL_PKIX_PARTIAL   0x0300 /* Process at partial PKIX compliance level */

Definition at line 140 of file certattr.h.

#define FL_LEVEL_REDUCED   0x0100 /* Process at reduced compliance level */

Definition at line 138 of file certattr.h.

#define FL_LEVEL_SHIFT   8 /* Shift amount to get into range 0...n */

Definition at line 149 of file certattr.h.

#define FL_LEVEL_STANDARD   0x0200 /* Process at standard compliance level */

Definition at line 139 of file certattr.h.

#define FL_MULTIVALUED   0x0800 /* Field can occur multiple times */

Definition at line 171 of file certattr.h.

#define FL_NONENCODING   0x0400 /* Field is a non-encoding value */

Definition at line 170 of file certattr.h.

#define FL_OPTIONAL   0x0010 /* Field is optional */

Definition at line 164 of file certattr.h.

#define FL_SEQEND   0x0001 /* End of constructed object */

Definition at line 154 of file certattr.h.

#define FL_SEQEND_2   0x0002 /* End of cons.obj + one nesting lvl.*/

Definition at line 155 of file certattr.h.

#define FL_SEQEND_3   0x0003 /* End of cons.obj + two nesting lvls.*/

Definition at line 156 of file certattr.h.

#define FL_SEQEND_4   0x0004 /* End of cons.obj + three nesting lvls.*/

Definition at line 157 of file certattr.h.

#define FL_SEQEND_5   0x0005 /* End of cons.obj + four nesting lvls.*/

Definition at line 158 of file certattr.h.

#define FL_SEQEND_6   0x0006 /* End of cons.obj + four nesting lvls.*/

Definition at line 159 of file certattr.h.

#define FL_SEQEND_7   0x0007 /* End of cons.obj + four nesting lvls.*/

Definition at line 160 of file certattr.h.

#define FL_SEQEND_MASK   7 /* Mask for sequence control value */

Definition at line 162 of file certattr.h.

#define FL_SETOF   0x0100 /* Start of SET/SEQ OF values */

Definition at line 168 of file certattr.h.

#define FL_VALID_ATTRCERT   0x0002 /* Valid in an attribute cert */

Definition at line 130 of file certattr.h.

#define FL_VALID_CERT   0x0001 /* Valid in a certificate */

Definition at line 129 of file certattr.h.

#define FL_VALID_CERTREQ   0x0008 /* Valid in a cert.request */

Definition at line 132 of file certattr.h.

#define FL_VALID_CRL   0x0004 /* Valid in a CRL */

Definition at line 131 of file certattr.h.

#define FL_VALID_MASK   0x1F /* Mask for type-validity value */

Definition at line 148 of file certattr.h.

#define FL_VALID_OCSPREQ   0x0010 /* Valid in an OCSP request */

Definition at line 134 of file certattr.h.

#define FL_VALID_OCSPRESP   0x0010 /* Valid in an OCSP response */

Definition at line 135 of file certattr.h.

#define FL_VALID_REVREQ   0x0010 /* Valid in a rev.request */

Definition at line 133 of file certattr.h.

#define isAttributeStart (   attributeInfoPtr)    ( ( attributeInfoPtr )->typeInfoFlags & FL_ATTR_ATTRSTART )

Definition at line 191 of file certattr.h.

#define isBlobField (   field)
Value:
( ( field ) <= FIELDTYPE_BLOB_ANY && \
( field ) >= FIELDTYPE_BLOB_SEQUENCE )

Definition at line 289 of file certattr.h.

Typedef Documentation

typedef struct AL ATTRIBUTE_LIST
typedef CHECK_RETVAL_FNPTR STDC_NONNULL_ARG((1)) int(*VALIDATION_FUNCTION)(const ATTRIBUTE_LIST *attributeListPtr)

Definition at line 466 of file certattr.h.

Function Documentation

CHECK_RETVAL_RANGE ( MAX_ERROR  ,
MAX_TAG   
) const
CHECK_RETVAL_PTR ATTRIBUTE_LIST* findAttributeStart ( IN_OPT const ATTRIBUTE_LIST attributeListPtr)
CHECK_RETVAL_PTR IN_BUFFER ( oidLength  ) const
CHECK_RETVAL INOUT ATTRIBUTE_LIST IN_RANGE ( ,
 
) const
CHECK_RETVAL_PTR STDC_NONNULL_ARG ( (2)  ) const
CHECK_RETVAL STDC_NONNULL_ARG ( (2, 3)  ) const

Variable Documentation

CHECK_RETVAL OUT const ATTRIBUTE_INFO** attributeInfoPtrPtr

Definition at line 481 of file certattr.h.

CHECK_RETVAL INOUT ATTRIBUTE_LIST* attributeListPtr

Definition at line 511 of file certattr.h.

CHECK_RETVAL OUT const ATTRIBUTE_INFO OUT_INT_Z int* noAttributeEntries

Definition at line 481 of file certattr.h.

RETVAL IN_LENGTH_OID const int oidLength

Definition at line 475 of file certattr.h.