RSA BSAFE Cert-C

Certificate Components for C

Crypto-C 6.2.1 Developer's Guide
Search

EXTENSION_TYPE_INFO Reference

Displays or changes the default setting of a supported standard extension.

It also registers an application-defined extension type in the Cert-C context. This structure is used with C_GetExtensionTypeInfo() and C_RegisterExtensionType().

Samples:

critical.c, saltname.c, and userextn.c.

#include <certext.h>

typedef struct EXTENSION_TYPE_INFO {

  ITEM              type;

  unsigned int      criticality;

  unsigned int      overrideCriticality;

  unsigned int      overrideHandler;

  UINT2             authenObjects;

  unsigned int      uniqueValue;

  EXTENSION_HANDLER handler;
} EXTENSION_TYPE_INFO;

Data Fields

ITEM type
 An ITEM structure that indicates the extension type.

unsigned int criticality
 An unsigned int value that indicates the extension type's default criticality. More...

unsigned int overrideCriticality
 An unsigned int value that allows you to override the extension type's default criticality when you call C_CreateExtension(). More...

unsigned int overrideHandler
 An unsigned int value that allows you to override the extension type's default handler when you call C_CreateExtension(). More...

UINT2 authenObjects
 A UINT2 value that designates the object types that can include this extension type. More...

unsigned int uniqueValue
 An unsigned int value that indicates whether the extension can have multiple extension values or only a single extension value. More...

EXTENSION_HANDLER handler
 An EXTENSION_HANDLER structure that specifies the handler for this extension type. More...


Field Documentation

UINT2 authenObjects
 

A UINT2 value that designates the object types that can include this extension type. This field can be set to one object type, or to a combination of object types by 'OR'ing them together.

Authentication Object Type Description
CERT_EXTENSIONS_OBJ Authenticates certificate extensions.
CRL_EXTENSIONS_OBJ Authenticates CRL extensions.
CRL_ENTRY_EXTENSIONS_OBJ Authenticates CRL entry extensions.
OCSP_REQUEST_EXTENSONS_OBJ Authenticates OCSP request extensions.
OCSP_SINGLE_EXTENSIONS_OBJ Authenticates OCSP single-certificate extensions.

unsigned int criticality
 

An unsigned int value that indicates the extension type's default criticality.

Extension Criticality Flag Description
NON_CRITICAL Extension is not critical.
CRITICAL Extension is critical.

EXTENSION_HANDLER handler
 

An EXTENSION_HANDLER structure that specifies the handler for this extension type. Cert-C provides a default extension handler for each Cert-C-defined extension type. However, if the default extension handler is overridden, or if a new extension type is defined, it is necessary to provide the callback functions. See the EXTENSION_HANDLER structure for a complete description of the callback functions.

unsigned int overrideCriticality
 

An unsigned int value that allows you to override the extension type's default criticality when you call C_CreateExtension(). The Cert-C default for all extension types is to allow the criticality to be overridden.

Override Criticality Flag Description
ALLOW_OVERRIDE_CRITICALITY Extension criticality can be overridden.
0 Extension criticality cannot be overridden.

unsigned int overrideHandler
 

An unsigned int value that allows you to override the extension type's default handler when you call C_CreateExtension(). The Cert-C default for all extension types is to allow the handler to be overridden.

Override Handler Flag Description
ALLOW_OVERRIDE_HANDLER Extension handler can be overridden.
0 Extension handler cannot be overridden.

unsigned int uniqueValue
 

An unsigned int value that indicates whether the extension can have multiple extension values or only a single extension value. If the extension can have multiple values, set it to 0. Otherwise, set it to 1 (one).