⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fipsmodule.h

📁 IBE是一种非对称密码技术
💻 H
📖 第 1 页 / 共 4 页
字号:

/* The VtDecodeFinal definition for getting a function pointer.
 */
typedef int VOLT_CALLING_CONV (*VFDecodeFinal) VOLT_PROTO_LIST ((
   VtAlgorithmObject algObj,
   VtRandomObject random,
   unsigned char *dataToDecode,
   unsigned int dataToDecodeLen,
   unsigned char *decodedData,
   unsigned int bufferSize,
   unsigned int *decodedDataLen
));

/* The VoltTestDsaKeyPair definition for getting a function pointer.
 */
typedef int VOLT_CALLING_CONV (*VFVoltTestDsaKeyPair) VOLT_PROTO_LIST ((
   VoltLibCtx *libCtx,
   VoltSurrenderCtx *surrCtx,
   VtKeyObject pubKey,
   VtKeyObject priKey,
   VtRandomObject random
));

/* The VoltSetObjectSurrender definition for getting a function pointer.
 */
typedef int VOLT_CALLING_CONV (*VFVoltSetObjectSurrender) VOLT_PROTO_LIST ((
   VoltObject *obj,
   Pointer info,
   unsigned int flag,
   unsigned int expectedSet,
   unsigned int unexpectedGet
));

/* The VoltClearKeyObject definition for getting a function pointer.
 */
typedef void VOLT_CALLING_CONV (*VFVoltClearKeyObject) VOLT_PROTO_LIST ((
   VoltKeyObject *obj
));

/* The VoltGetMpCtxCloneFromLibCtx definition for getting a function pointer.
 */
typedef int VOLT_CALLING_CONV (*VFVoltGetMpCtxCloneFromLibCtx) VOLT_PROTO_LIST ((
   VoltLibCtx *libCtx,
   Pointer *newCtx
));

/* The VoltModExpCRT definition for getting a function pointer.
 */
typedef int VOLT_CALLING_CONV (*VFVoltModExpCRT) VOLT_PROTO_LIST ((
   VoltMpInt *base,
   VoltMpInt *prime1,
   VoltMpInt *prime2,
   VoltMpInt *expo1,
   VoltMpInt *expo2,
   VoltMpInt *coeff,
   VoltMpInt *result
));

typedef struct
{
  VFDestroyLibCtxFips                  VtDestroyLibCtxFips;
  VFProcessFunction                    VfProcessFunction;
  VFGetFipsError                       VfGetFipsError;
} VoltFipsFunctionList;

/* The CreateLibCtx inside the shared library.
 */
VOLT_SHARED_LIB_EXPORT int VOLT_CALLING_CONV VoltCreateLibCtxFips VOLT_PROTO_LIST ((
   unsigned int libHandleSpace,
   VtLibCtx *libraryCtx
));

/* The DestroyLibCtx inside the shared library.
 */
int VOLT_CALLING_CONV VoltDestroyLibCtxFips VOLT_PROTO_LIST ((
   VtLibCtx *libCtx
));

/* Define VOLT_FIPS_CREATE_LIB_CTX_NAME to be the same as the function
 * that implements VCreateLibCtx.
 */
#define VOLT_CREATE_LIB_CTX_FIPS_NAME   "VoltCreateLibCtxFips"

/** A FIPS libCtx is the local ctx for the base libCtx. It contains
 * info for FIPS, such as an error code, function list, etc.
 */
typedef struct
{
  unsigned int          libHandleSpace;
  VoltLibHandle         libHandle;
  VoltFipsFunctionList  fnctList;
  VFnctPointer          reservedFnctPointer;
  Pointer               reservedFnctList;
} VoltFipsLibCtx;

/* This is the name of the shared library that is the FIPS module. When
 * porting, this might need to be changed.
 */
#define VOLT_FIPS_SHARED_LIB_NAME_WINDOWS      "vibecryptofips.dll"
#define VOLT_FIPS_SHARED_LIB_NAME_LEN_WINDOWS  18

/* This is the name of the sig file for the FIPS module. To make
 * programming convenient, make the sign file name and shared file name
 * the same length.
 * The easiest is to share the same base name and have different
 * (although same length) extensions.
 */
#define VOLT_FIPS_SIG_FILE_NAME_WINDOWS      "vibecryptofips.sig"
#define VOLT_FIPS_SIG_FILE_NAME_WINDOWS_LEN  18

/* Implements VFProcessFunction.
 */
int VOLT_CALLING_CONV VoltProcessFunction VOLT_PROTO_LIST ((
   VtLibCtx libCtx,
   unsigned int flag,
   VFnctPointer *theFunction
));

/* This is the function inside the shared library that finds a function
 * pointer based on the flag.
 */
int VOLT_CALLING_CONV VoltGetFunctionPointer VOLT_PROTO_LIST ((
   VtLibCtx libCtx,
   unsigned int flag,
   VFnctPointer *fnctPtr
));

/* This function will be called from within the shared library to
 * set the Fips error to the value given.
 *
 * @return an int, 0 if the function completed successfully or a
 * non-zero error code.
 */
void VOLT_CALLING_CONV VoltSetFipsError VOLT_PROTO_LIST ((
   int fipsError
));

/* Implements VGetFipsError.
 */
int VOLT_CALLING_CONV VoltGetFipsError VOLT_PROTO_LIST ((
));

/* The following numbers cannot overlap with toolkit error codes.
 */
#define VOLT_FIPS_FNCT_FLAG_BASE               VT_ERROR_FIPS_BASE+1024
#define VOLT_FIPS_IMPL_FLAG_BASE               VOLT_FIPS_FNCT_FLAG_BASE+512

#define VOLT_FNCT_FLAG_VT_SET_LIB_CTX_PARAM    VOLT_FIPS_FNCT_FLAG_BASE+0
#define VOLT_FNCT_FLAG_VT_GET_LIB_CTX_PARAM    VOLT_FIPS_FNCT_FLAG_BASE+1
#define VOLT_FNCT_FLAG_VT_MALLOC               VOLT_FIPS_FNCT_FLAG_BASE+2
#define VOLT_FNCT_FLAG_VT_REALLOC              VOLT_FIPS_FNCT_FLAG_BASE+3
#define VOLT_FNCT_FLAG_VT_FREE                 VOLT_FIPS_FNCT_FLAG_BASE+4
#define VOLT_FNCT_FLAG_VT_MEMSET               VOLT_FIPS_FNCT_FLAG_BASE+5
#define VOLT_FNCT_FLAG_VT_MEMCPY               VOLT_FIPS_FNCT_FLAG_BASE+6
#define VOLT_FNCT_FLAG_VT_MEMMOVE              VOLT_FIPS_FNCT_FLAG_BASE+8
#define VOLT_FNCT_FLAG_VT_MEMCMP               VOLT_FIPS_FNCT_FLAG_BASE+9
#define VOLT_FNCT_FLAG_VT_CREATE_MP_INT_CTX    VOLT_FIPS_FNCT_FLAG_BASE+10
#define VOLT_FNCT_FLAG_VT_DESTROY_MP_INT_CTX   VOLT_FIPS_FNCT_FLAG_BASE+11
#define VOLT_FNCT_FLAG_VT_SET_MP_INT_PARAM     VOLT_FIPS_FNCT_FLAG_BASE+12
#define VOLT_FNCT_FLAG_VT_CREATE_CACHE_CTX     VOLT_FIPS_FNCT_FLAG_BASE+13
#define VOLT_FNCT_FLAG_VT_DESTROY_CACHE_CTX    VOLT_FIPS_FNCT_FLAG_BASE+14
#define VOLT_FNCT_FLAG_VT_GET_CACHE_COUNT      VOLT_FIPS_FNCT_FLAG_BASE+15
#define VOLT_FNCT_FLAG_VT_GET_CACHE_ENTRY      VOLT_FIPS_FNCT_FLAG_BASE+16
#define VOLT_FNCT_FLAG_VT_GET_CACHE_REF        VOLT_FIPS_FNCT_FLAG_BASE+17
#define VOLT_FNCT_FLAG_VT_SET_CACHE_ENTRY      VOLT_FIPS_FNCT_FLAG_BASE+18
#define VOLT_FNCT_FLAG_VT_DELETE_CACHE_ENTRY   VOLT_FIPS_FNCT_FLAG_BASE+19
#define VOLT_FNCT_FLAG_VT_CREATE_ERROR_CTX     VOLT_FIPS_FNCT_FLAG_BASE+20
#define VOLT_FNCT_FLAG_VT_DESTROY_ERROR_CTX    VOLT_FIPS_FNCT_FLAG_BASE+21
#define VOLT_FNCT_FLAG_VT_SET_ERROR_CTX_PARAM  VOLT_FIPS_FNCT_FLAG_BASE+22
#define VOLT_FNCT_FLAG_VT_GET_ERROR_CTX_PARAM  VOLT_FIPS_FNCT_FLAG_BASE+23
#define VOLT_FNCT_FLAG_VT_GET_ERROR_CTX_COUNT  VOLT_FIPS_FNCT_FLAG_BASE+24
#define VOLT_FNCT_FLAG_VT_GET_ERROR_STACK      VOLT_FIPS_FNCT_FLAG_BASE+25
#define VOLT_FNCT_FLAG_VT_CLEAR_ERROR_CTX      VOLT_FIPS_FNCT_FLAG_BASE+26
#define VOLT_FNCT_FLAG_VT_CREATE_RANDOM        VOLT_FIPS_FNCT_FLAG_BASE+27
#define VOLT_FNCT_FLAG_VT_DESTROY_RANDOM       VOLT_FIPS_FNCT_FLAG_BASE+28
#define VOLT_FNCT_FLAG_VT_SET_RANDOM_PARAM     VOLT_FIPS_FNCT_FLAG_BASE+29
#define VOLT_FNCT_FLAG_VT_SEED_RANDOM          VOLT_FIPS_FNCT_FLAG_BASE+30
#define VOLT_FNCT_FLAG_VT_GEN_RANDOM           VOLT_FIPS_FNCT_FLAG_BASE+31
#define VOLT_FNCT_FLAG_VT_CREATE_KEY           VOLT_FIPS_FNCT_FLAG_BASE+32
#define VOLT_FNCT_FLAG_VT_DESTROY_KEY          VOLT_FIPS_FNCT_FLAG_BASE+33
#define VOLT_FNCT_FLAG_VT_SET_KEY_PARAM        VOLT_FIPS_FNCT_FLAG_BASE+34
#define VOLT_FNCT_FLAG_VT_GET_KEY_PARAM        VOLT_FIPS_FNCT_FLAG_BASE+35
#define VOLT_FNCT_FLAG_VT_CREATE_ALG           VOLT_FIPS_FNCT_FLAG_BASE+36
#define VOLT_FNCT_FLAG_VT_DESTROY_ALG          VOLT_FIPS_FNCT_FLAG_BASE+37
#define VOLT_FNCT_FLAG_VT_SET_ALG_PARAM        VOLT_FIPS_FNCT_FLAG_BASE+38
#define VOLT_FNCT_FLAG_VT_GET_ALG_PARAM        VOLT_FIPS_FNCT_FLAG_BASE+39
#define VOLT_FNCT_FLAG_VT_CREATE_PARAM         VOLT_FIPS_FNCT_FLAG_BASE+40
#define VOLT_FNCT_FLAG_VT_DESTROY_PARAM        VOLT_FIPS_FNCT_FLAG_BASE+41
#define VOLT_FNCT_FLAG_VT_SET_PARAM_PARAM      VOLT_FIPS_FNCT_FLAG_BASE+42
#define VOLT_FNCT_FLAG_VT_GET_PARAM_PARAM      VOLT_FIPS_FNCT_FLAG_BASE+43
#define VOLT_FNCT_FLAG_VT_GEN_PARAMS           VOLT_FIPS_FNCT_FLAG_BASE+44
#define VOLT_FNCT_FLAG_VT_GEN_KEY_PAIR         VOLT_FIPS_FNCT_FLAG_BASE+45
#define VOLT_FNCT_FLAG_VT_GEN_SHARED_SECRET    VOLT_FIPS_FNCT_FLAG_BASE+46
#define VOLT_FNCT_FLAG_VT_DERIVE_IBE_PRI       VOLT_FIPS_FNCT_FLAG_BASE+47
#define VOLT_FNCT_FLAG_VT_ENCRYPT_INIT         VOLT_FIPS_FNCT_FLAG_BASE+48
#define VOLT_FNCT_FLAG_VT_ENCRYPT_UPDATE       VOLT_FIPS_FNCT_FLAG_BASE+49
#define VOLT_FNCT_FLAG_VT_ENCRYPT_FINAL        VOLT_FIPS_FNCT_FLAG_BASE+50
#define VOLT_FNCT_FLAG_VT_DECRYPT_INIT         VOLT_FIPS_FNCT_FLAG_BASE+51
#define VOLT_FNCT_FLAG_VT_DECRYPT_UPDATE       VOLT_FIPS_FNCT_FLAG_BASE+52
#define VOLT_FNCT_FLAG_VT_DECRYPT_FINAL        VOLT_FIPS_FNCT_FLAG_BASE+53
#define VOLT_FNCT_FLAG_VT_PROCESS_CFB_1_BIT    VOLT_FIPS_FNCT_FLAG_BASE+54
#define VOLT_FNCT_FLAG_VT_DIGEST_INIT          VOLT_FIPS_FNCT_FLAG_BASE+55
#define VOLT_FNCT_FLAG_VT_DIGEST_UPDATE        VOLT_FIPS_FNCT_FLAG_BASE+56
#define VOLT_FNCT_FLAG_VT_DIGEST_FINAL         VOLT_FIPS_FNCT_FLAG_BASE+57
#define VOLT_FNCT_FLAG_VT_MAC_INIT             VOLT_FIPS_FNCT_FLAG_BASE+58
#define VOLT_FNCT_FLAG_VT_MAC_UPDATE           VOLT_FIPS_FNCT_FLAG_BASE+59
#define VOLT_FNCT_FLAG_VT_MAC_FINAL            VOLT_FIPS_FNCT_FLAG_BASE+60
#define VOLT_FNCT_FLAG_VT_ENCODE_INIT          VOLT_FIPS_FNCT_FLAG_BASE+61
#define VOLT_FNCT_FLAG_VT_ENCODE_UPDATE        VOLT_FIPS_FNCT_FLAG_BASE+62
#define VOLT_FNCT_FLAG_VT_ENCODE_FINAL         VOLT_FIPS_FNCT_FLAG_BASE+63
#define VOLT_FNCT_FLAG_VT_DECODE_INIT          VOLT_FIPS_FNCT_FLAG_BASE+64
#define VOLT_FNCT_FLAG_VT_DECODE_UPDATE        VOLT_FIPS_FNCT_FLAG_BASE+65
#define VOLT_FNCT_FLAG_VT_DECODE_FINAL         VOLT_FIPS_FNCT_FLAG_BASE+66
#define VOLT_FNCT_FLAG_VT_SIGN                 VOLT_FIPS_FNCT_FLAG_BASE+67
#define VOLT_FNCT_FLAG_VT_VERIFY_SIG           VOLT_FIPS_FNCT_FLAG_BASE+68

#define VOLT_FNCT_FLAG_VOLT_LOG_ERROR          VOLT_FIPS_FNCT_FLAG_BASE+80
#define VOLT_FNCT_FLAG_VOLT_LOG_ERROR_INFO     VOLT_FIPS_FNCT_FLAG_BASE+81

#define VOLT_FNCT_FLAG_VT_CLONE_OBJECT         VOLT_FIPS_FNCT_FLAG_BASE+91
#define VOLT_FNCT_FLAG_VT_GET_OBJECT_STATE     VOLT_FIPS_FNCT_FLAG_BASE+92
#define VOLT_FNCT_FLAG_VT_SET_OBJECT_STATE     VOLT_FIPS_FNCT_FLAG_BASE+93

#define VOLT_FNCT_FLAG_VOLT_CREATE_OBJECT      VOLT_FIPS_FNCT_FLAG_BASE+101
#define VOLT_FNCT_FLAG_VOLT_DESTROY_OBJECT     VOLT_FIPS_FNCT_FLAG_BASE+102
#define VOLT_FNCT_FLAG_VOLT_ADD_LIB_CTX_INFO   VOLT_FIPS_FNCT_FLAG_BASE+103
#define VOLT_FNCT_FLAG_VOLT_GET_LIB_CTX_INFO   VOLT_FIPS_FNCT_FLAG_BASE+104
#define VOLT_FNCT_FLAG_VOLT_GET_LIB_CTX_INFO_S VOLT_FIPS_FNCT_FLAG_BASE+105
#define VOLT_PARAM_LIB_CTX_IBE_CACHE           VOLT_FIPS_FNCT_FLAG_BASE+106

#define VOLT_FNCT_FLAG_VOLT_GET_BF_CTX_FROM    VOLT_FIPS_FNCT_FLAG_BASE+121
#define VOLT_FNCT_FLAG_VOLT_RELEASE_BF_CTX     VOLT_FIPS_FNCT_FLAG_BASE+122
#define VOLT_FNCT_FLAG_VOLT_BUILD_IBE_FROM     VOLT_FIPS_FNCT_FLAG_BASE+123
#define VOLT_FNCT_FLAG_VOLT_DEMOLISH_IBE       VOLT_FIPS_FNCT_FLAG_BASE+124
#define VOLT_FNCT_FLAG_VOLT_TEST_DSA_PAIR      VOLT_FIPS_FNCT_FLAG_BASE+125
#define VOLT_FNCT_FLAG_VOLT_SET_OBJ_SURR       VOLT_FIPS_FNCT_FLAG_BASE+126
#define VOLT_FNCT_FLAG_VOLT_CLEAR_KEY_OBJ      VOLT_FIPS_FNCT_FLAG_BASE+127
#define VOLT_FNCT_FLAG_VOLT_MP_CLONE_FROM      VOLT_FIPS_FNCT_FLAG_BASE+128
#define VOLT_FNCT_FLAG_VOLT_MOD_EXP_CRT        VOLT_FIPS_FNCT_FLAG_BASE+129

#define VOLT_IMPL_NULL                         VOLT_FIPS_IMPL_FLAG_BASE+0
#define VOLT_IMPL_ALG_IBE_TYPE1                VOLT_FIPS_IMPL_FLAG_BASE+1
#define VOLT_IMPL_ALG_BB_TYPE1                 VOLT_FIPS_IMPL_FLAG_BASE+2
#define VOLT_IMPL_ALG_DSA_SIGN                 VOLT_FIPS_IMPL_FLAG_BASE+3
#define VOLT_IMPL_ALG_DSA_VERIFY               VOLT_FIPS_IMPL_FLAG_BASE+4
#define VOLT_IMPL_ALG_DSA_SIGN_VERIFY          VOLT_FIPS_IMPL_FLAG_BASE+5
#define VOLT_IMPL_ALG_RSA_SIGN                 VOLT_FIPS_IMPL_FLAG_BASE+6
#define VOLT_IMPL_ALG_RSA_SIGN_X931            VOLT_FIPS_IMPL_FLAG_BASE+7
#define VOLT_IMPL_ALG_DH_KEY_AGREE             VOLT_FIPS_IMPL_FLAG_BASE+8
#define VOLT_IMPL_ALG_SHA1                     VOLT_FIPS_IMPL_FLAG_BASE+9
#define VOLT_IMPL_ALG_GENERAL_SHA1             VOLT_FIPS_IMPL_FLAG_BASE+10
#define VOLT_IMPL_ALG_SHA224                   VOLT_FIPS_IMPL_FLAG_BASE+11
#define VOLT_IMPL_ALG_SHA256                   VOLT_FIPS_IMPL_FLAG_BASE+12
#define VOLT_IMPL_ALG_SHA384                   VOLT_FIPS_IMPL_FLAG_BASE+13
#define VOLT_IMPL_ALG_SHA512                   VOLT_FIPS_IMPL_FLAG_BASE+14
#define VOLT_IMPL_ALG_MD5                      VOLT_FIPS_IMPL_FLAG_BASE+15
#define VOLT_IMPL_ALG_HMAC                     VOLT_FIPS_IMPL_FLAG_BASE+16
#define VOLT_IMPL_ALG_BASE64                   VOLT_FIPS_IMPL_FLAG_BASE+17
#define VOLT_IMPL_ALG_DES                      VOLT_FIPS_IMPL_FLAG_BASE+18
#define VOLT_IMPL_ALG_3DES_EDE                 VOLT_FIPS_IMPL_FLAG_BASE+19
#define VOLT_IMPL_ALG_AES                      VOLT_FIPS_IMPL_FLAG_BASE+20
#define VOLT_IMPL_ALG_RSA_ENCRYPT              VOLT_FIPS_IMPL_FLAG_BASE+21
#define VOLT_IMPL_PARAM_MP_CTX                 VOLT_FIPS_IMPL_FLAG_BASE+22
#define VOLT_IMPL_PARAM_DEFAULT                VOLT_FIPS_IMPL_FLAG_BASE+23
#define VOLT_IMPL_PARAM_GEN_IBE_TYPE1_PARAMS   VOLT_FIPS_IMPL_FLAG_BASE+24
#define VOLT_IMPL_PARAM_GEN_BB_TYPE1_PARAMS    VOLT_FIPS_IMPL_FLAG_BASE+25
#define VOLT_IMPL_PARAM_GEN_DSA_PARAMS         VOLT_FIPS_IMPL_FLAG_BASE+26
#define VOLT_IMPL_PARAM_GEN_DH_PARAMS          VOLT_FIPS_IMPL_FLAG_BASE+27
#define VOLT_IMPL_RANDOM_FIPS186_PRNG          VOLT_FIPS_IMPL_FLAG_BASE+28
#define VOLT_IMPL_KEY_DEFAULT                  VOLT_FIPS_IMPL_FLAG_BASE+29
#define VOLT_IMPL_KEY_MP_CTX                   VOLT_FIPS_IMPL_FLAG_BASE+30
#define VOLT_IMPL_KEY_PAIR_GEN_DSA             VOLT_FIPS_IMPL_FLAG_BASE+31
#define VOLT_IMPL_KEY_PAIR_GEN_DSA_AND_PARAMS  VOLT_FIPS_IMPL_FLAG_BASE+32
#define VOLT_IMPL_KEY_PAIR_GEN_DH              VOLT_FIPS_IMPL_FLAG_BASE+33
#define VOLT_IMPL_KEY_PAIR_GEN_RSA             VOLT_FIPS_IMPL_FLAG_BASE+34
#define VOLT_IMPL_PRI_KEY_DERIVE_IBE_TYPE1     VOLT_FIPS_IMPL_FLAG_BASE+35
#define VOLT_IMPL_PRI_KEY_DERIVE_BB_TYPE1      VOLT_FIPS_IMPL_FLAG_BASE+36
#define VOLT_IMPL_MP_INT_FIPS                  VOLT_FIPS_IMPL_FLAG_BASE+37
#define VOLT_IMPL_IBE_CACHE_BASIC              VOLT_FIPS_IMPL_FLAG_BASE+38
#define VOLT_IMPL_ERROR_CTX_BASIC              VOLT_FIPS_IMPL_FLAG_BASE+39

#define VOLT_FEEDBACK_CBC                      VOLT_FIPS_IMPL_FLAG_BASE+101
#define VOLT_FEEDBACK_CFB                      VOLT_FIPS_IMPL_FLAG_BASE+102
#define VOLT_FEEDBACK_OFB                      VOLT_FIPS_IMPL_FLAG_BASE+103

#define VOLT_PADDING_PKCS5                     VOLT_FIPS_IMPL_FLAG_BASE+131
#define VOLT_PADDING_PKCS1_TYPE1               VOLT_FIPS_IMPL_FLAG_BASE+136
#define VOLT_PADDING_PKCS1_TYPE2               VOLT_FIPS_IMPL_FLAG_BASE+137
#define VOLT_PADDING_PKCS1_OAEP                VOLT_FIPS_IMPL_FLAG_BASE+138

#define VOLT_LIB_VERSION_FIPS                  VOLT_FIPS_IMPL_FLAG_BASE+151

#define VOLT_PARAM_ALG_SIG_DIGEST_ALG_OBJ      VOLT_FIPS_IMPL_FLAG_BASE+161
#define VOLT_PARAM_ALG_DIGEST_STATE            VOLT_FIPS_IMPL_FLAG_BASE+162
#define VOLT_PARAM_ALG_SURRENDER               VOLT_FIPS_IMPL_FLAG_BASE+163
#define VOLT_PARAM_PARAM_IBE_TYPE1_CURVE       VOLT_FIPS_IMPL_FLAG_BASE+171
#define VOLT_PARAM_PARAM_IBE_TYPE1_PARAMS      VOLT_FIPS_IMPL_FLAG_BASE+172
#define VOLT_PARAM_PARAM_IBE_TYPE1_M_SECRET    VOLT_FIPS_IMPL_FLAG_BASE+173
#define VOLT_PARAM_PARAM_BB_TYPE1_PARAMS       VOLT_FIPS_IMPL_FLAG_BASE+181
#define VOLT_PARAM_PARAM_BB_TYPE1_M_SECRET     VOLT_FIPS_IMPL_FLAG_BASE+182
#define VOLT_PARAM_PARAM_DSA_PARAMS            VOLT_FIPS_IMPL_FLAG_BASE+191
#define VOLT_PARAM_PARAM_DSA_PARAMS_FIPS       VOLT_FIPS_IMPL_FLAG_BASE+192
#define VOLT_PARAM_PARAM_DH_PARAMS             VOLT_FIPS_IMPL_FLAG_BASE+193
#define VOLT_PARAM_PARAM_DH_PARAMS_FIPS        VOLT_FIPS_IMPL_FLAG_BASE+194
#define VOLT_PARAM_PARAM_SURRENDER             VOLT_FIPS_IMPL_FLAG_BASE+196
#define VOLT_PARAM_KEY_IBE_TYPE1_PUBLIC        VOLT_FIPS_IMPL_FLAG_BASE+211
#define VOLT_PARAM_KEY_IBE_TYPE1_PRIVATE       VOLT_FIPS_IMPL_FLAG_BASE+212
#define VOLT_PARAM_KEY_BB_TYPE1_PUBLIC         VOLT_FIPS_IMPL_FLAG_BASE+221
#define VOLT_PARAM_KEY_BB_TYPE1_PRIVATE        VOLT_FIPS_IMPL_FLAG_BASE+222
#define VOLT_PARAM_KEY_AES                     VOLT_FIPS_IMPL_FLAG_BASE+231
#define VOLT_PARAM_KEY_DES                     VOLT_FIPS_IMPL_FLAG_BASE+232
#define VOLT_PARAM_KEY_3DES                    VOLT_FIPS_IMPL_FLAG_BASE+233
#define VOLT_PARAM_KEY_MAC                     VOLT_FIPS_IMPL_FLAG_BASE+234
#define VOLT_PARAM_KEY_SYMMETRIC               VOLT_FIPS_IMPL_FLAG_BASE+235
#define VOLT_PARAM_KEY_DSA_PUBLIC              VOLT_FIPS_IMPL_FLAG_BASE+251
#define VOLT_PARAM_KEY_DSA_PRIVATE             VOLT_FIPS_IMPL_FLAG_BASE+252
#define VOLT_PARAM_KEY_DH_PUBLIC               VOLT_FIPS_IMPL_FLAG_BASE+256
#define VOLT_PARAM_KEY_DH_PRIVATE              VOLT_FIPS_IMPL_FLAG_BASE+257
#define VOLT_PARAM_KEY_DH_SHARED_SECRET        VOLT_FIPS_IMPL_FLAG_BASE+258
#define VOLT_PARAM_KEY_RSA_PUBLIC_VERIFY       VOLT_FIPS_IMPL_FLAG_BASE+261
#define VOLT_PARAM_KEY_RSA_PUBLIC_ENCRYPT      VOLT_FIPS_IMPL_FLAG_BASE+262
#define VOLT_PARAM_KEY_RSA_PRIVATE_SIGN        VOLT_FIPS_IMPL_FLAG_BASE+263
#define VOLT_PARAM_KEY_RSA_PRIVATE_DECRYPT     VOLT_FIPS_IMPL_FLAG_BASE+264
#define VOLT_PARAM_KEY_SURRENDER               VOLT_FIPS_IMPL_FLAG_BASE+281

/* These macros expand to check the FIPS error, or to nothing,
 * depending on whether we're building for the shared library or not.
 */
#if VOLT_BUILD == VOLT_BUILD_FIPS_SHARED
#define VOLT_CHECK_FIPS_ERROR_OBJ(_status)                               \
    VOLT_CHECK_FIPS_ERROR (_status)
#define VOLT_CHECK_FIPS_ERROR(_status)                                   \
  status = VoltGetFipsError ();
#else
#define VOLT_CHECK_FOR_FIPS_ERROR(_obj,_status)
#define VOLT_CHECK_FIPS_ERROR_OBJ(_obj,_status)
#define VOLT_CHECK_FIPS_ERROR(_libraryCtx,_status)
#endif  /* VOLT_BUILD == VOLT_BUILD_FIPS_SHARED */

#ifdef __cplusplus
}
#endif

#endif /* _FIPS_MODULE_H */

#endif  /* VOLT_BUILD == VOLT_BUILD_FIPS_STATIC || VOLT_BUILD == VOLT_BUILD_FIPS_SHARED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -