| RSA BSAFE Micro Edition Suite |
Streamlined security for mobile and embedded devices |
 
![]() |
00001 /* $Id: r_cm_r.h,v 1.8 2005/04/05 02:23:19 jmckee Exp $ */
00002 /*
00003 * Copyright (C) 1998-2003 RSA Security Inc. All rights reserved.
00004 *
00005 * This work contains proprietary information of RSA Security.
00006 * Distribution is limited to authorized licensees of RSA
00007 * Security. Any unauthorized reproduction, distribution or
00008 * modification of this work is strictly prohibited.
00009 */
00010
00018 #ifndef HEADER_COMMON_R_CM_R_H
00019 #define HEADER_COMMON_R_CM_R_H
00020
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024
00025 #include "r_cm.h"
00026
00027 #ifndef Rm_CM_DIRECT
00028
00029 /*
00030 * @defgroup CM_METH_FUNCS Method Table Functions
00031 * @ingroup CM_ALL_FUNCS
00032 * This section details the functions that facilitate with cryptographic
00033 * message method tables.
00034 * @{
00035 */
00036
00037 R_CM_METHOD *R_CM_get_default_pkcs7_method(void *impl_data);
00038 R_CM_METHOD *R_CM_get_default_verify_pkcs7_method(void *impl_data);
00039 R_CM_METHOD *R_CM_get_default_write_pkcs7_method(void *impl_data);
00040 R_CM_METHOD *R_CM_get_signed_data_pkcs7_method(void *impl_data);
00041 R_CM_METHOD *R_CM_get_signed_data_verify_pkcs7_method(void *impl_data);
00042 R_CM_METHOD *R_CM_get_enveloped_data_pkcs7_method(void *impl_data);
00043 R_CM_METHOD *R_CM_get_enveloped_data_open_pkcs7_method(void *impl_data);
00044
00045 R_CM_METHOD *R_CM_get_default_smime_method(void *impl_data);
00046 R_CM_METHOD *R_CM_get_default_verify_smime_method(void *impl_data);
00047 R_CM_METHOD *R_CM_get_signed_data_smime_method(void *impl_data);
00048 R_CM_METHOD *R_CM_get_signed_data_verify_smime_method(void *impl_data);
00049 R_CM_METHOD *R_CM_get_enveloped_data_smime_method(void *impl_data);
00050 R_CM_METHOD *R_CM_get_enveloped_data_open_smime_method(void *impl_data);
00051
00052 /*
00053 * @}
00054 */
00055
00056 #else /* Rm_CM_DIRECT */
00057
00058 #define R_CM_get_default_pkcs7_method NULL
00059 #define R_CM_get_default_verify_pkcs7_method NULL
00060 #define R_CM_get_signed_data_pkcs7_method NULL
00061 #define R_CM_get_signed_data_verify_pkcs7_method NULL
00062 #define R_CM_get_enveloped_data_pkcs7_method NULL
00063 #define R_CM_get_enveloped_data_open_pkcs7_method NULL
00064
00065 #define R_CM_get_default_smime_method NULL
00066 #define R_CM_get_default_verify_smime_method NULL
00067 #define R_CM_get_signed_data_smime_method NULL
00068 #define R_CM_get_signed_data_verify_smime_method NULL
00069 #define R_CM_get_enveloped_data_smime_method NULL
00070 #define R_CM_get_enveloped_data_open_smime_method NULL
00071
00072 #endif /* Rm_CM_DIRECT */
00073
00074 /*
00075 * @defgroup CM_RL_FUNCS Resource List Functions
00076 * This section details the functions that define resource list data
00077 * specific to cryptographic messages.
00078 * @ingroup CM_ALL_FUNCS
00079 * @{
00080 */
00081
00082 /* RESOURCE LIST specific functions. */
00083 R_RES_LIST *R_CM_get_verify_small_resource_list(void);
00084
00085 /*
00086 * @}
00087 */
00088
00102 #define R_CM_RES_PKCS7 \
00103 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, R_CM_TYPE_DEFAULT, \
00104 R_RES_FLAG_DEF, NULL, NULL, \
00105 (void *(*)(void *))R_CM_get_default_pkcs7_method, NULL }
00106
00114 #define R_CM_RES_PKCS7_VERIFY \
00115 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, R_CM_TYPE_DEFAULT_READ, \
00116 R_RES_FLAG_DEF, NULL, NULL, \
00117 (void *(*)(void *))R_CM_get_default_verify_pkcs7_method, NULL }
00118
00126 #define R_CM_RES_PKCS7_WRITE \
00127 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, R_CM_TYPE_DEFAULT_WRITE, \
00128 R_RES_FLAG_DEF, NULL, NULL, \
00129 (void *(*)(void *))R_CM_get_default_write_pkcs7_method, NULL }
00130
00137 #define R_CM_RES_PKCS7_SIGNED_DATA \
00138 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, R_CM_TYPE_SIGNED_DATA, \
00139 R_RES_FLAG_DEF, NULL, NULL, \
00140 (void *(*)(void *))R_CM_get_signed_data_pkcs7_method, NULL }
00141
00148 #define R_CM_RES_PKCS7_SIGNED_DATA_VERIFY \
00149 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, \
00150 R_CM_TYPE_SIGNED_DATA_READ, R_RES_FLAG_DEF, NULL, NULL, \
00151 (void *(*)(void *))R_CM_get_signed_data_verify_pkcs7_method, NULL }
00152
00159 #define R_CM_RES_PKCS7_ENVELOPED_DATA \
00160 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, R_CM_TYPE_ENVELOPED_DATA, \
00161 R_RES_FLAG_DEF, NULL, NULL, \
00162 (void *(*)(void *))R_CM_get_enveloped_data_pkcs7_method, NULL }
00163
00171 #define R_CM_RES_PKCS7_ENVELOPED_DATA_OPEN \
00172 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, \
00173 R_CM_TYPE_ENVELOPED_DATA_READ, R_RES_FLAG_DEF, NULL, NULL, \
00174 (void *(*)(void *))R_CM_get_enveloped_data_open_pkcs7_method, NULL }
00175
00180 #define R_CM_RES_SMIME \
00181 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, \
00182 (R_CM_TYPE_DEFAULT | R_CM_TYPE_SMIME), R_RES_FLAG_DEF, NULL, \
00183 NULL, (void *(*)(void *))R_CM_get_default_smime_method, \
00184 NULL }, \
00185 R_CM_RES_PKCS7
00186
00194 #define R_CM_RES_SMIME_VERIFY \
00195 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, \
00196 (R_CM_TYPE_DEFAULT_READ | R_CM_TYPE_SMIME), R_RES_FLAG_DEF, \
00197 NULL, NULL, \
00198 (void *(*)(void *))R_CM_get_default_verify_smime_method, \
00199 NULL }, \
00200 R_CM_RES_PKCS7_VERIFY
00201
00208 #define R_CM_RES_SMIME_SIGNED_DATA \
00209 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, \
00210 (R_CM_TYPE_SIGNED_DATA | R_CM_TYPE_SMIME), R_RES_FLAG_DEF, \
00211 NULL, NULL, \
00212 (void *(*)(void *))R_CM_get_signed_data_smime_method, NULL }, \
00213 R_CM_RES_PKCS7_SIGNED_DATA
00214
00221 #define R_CM_RES_SMIME_SIGNED_DATA_VERIFY \
00222 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, \
00223 (R_CM_TYPE_SIGNED_DATA_READ | R_CM_TYPE_SMIME), \
00224 R_RES_FLAG_DEF, NULL, NULL, \
00225 (void *(*)(void *))R_CM_get_signed_data_verify_smime_method, \
00226 NULL }, \
00227 R_CM_RES_PKCS7_SIGNED_DATA_VERIFY
00228
00235 #define R_CM_RES_SMIME_ENVELOPED_DATA \
00236 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, \
00237 (R_CM_TYPE_ENVELOPED_DATA | R_CM_TYPE_SMIME), R_RES_FLAG_DEF, \
00238 NULL, NULL, \
00239 (void *(*)(void *))R_CM_get_enveloped_data_smime_method, \
00240 NULL }, \
00241 R_CM_RES_PKCS7_ENVELOPED_DATA
00242
00249 #define R_CM_RES_SMIME_ENVELOPED_DATA_OPEN \
00250 { R_RES_MOD_ID_CM, R_RES_IMPL_ID_DEF, \
00251 (R_CM_TYPE_ENVELOPED_DATA_READ | R_CM_TYPE_SMIME), \
00252 R_RES_FLAG_DEF, NULL, NULL, \
00253 (void *(*)(void *))R_CM_get_enveloped_data_open_smime_method, \
00254 NULL }, \
00255 R_CM_RES_PKCS7_ENVELOPED_DATA_OPEN
00256
00261 #ifdef __cplusplus
00262 }
00263 #endif
00264
00265 #endif /* HEADER_COMMON_R_CM_R_H */
00266