📄 bca_def.h
字号:
/*
* Copyright (c) 2004,
* All rights reserved.
*
* 文件名称:bjcapp_def.h
*
* 当前版本:1.0
* 作 者:
* 完成日期:2004年5月30日
* 主要修改说明:
*
* 历史信息:
*
* 版本:
* 作者:
* 日期:
* 主要修改说明:
*
* 版本:
* 作者:
* 日期:
* 主要修改说明:
*
*/
#ifndef _BCA_DEF_
#define _BCA_DEF_
#ifdef __cplusplus
extern "C" {
#endif
typedef unsigned long BCA_OBJ;
#define BCA_PROVIDER_CSP 1
#define BCA_PROVIDER_PKCS11 2
#define BCA_PROVIDER_SOFT 3
#define BCA_ALGO_MD2 1
#define BCA_ALGO_MD5 2
#define BCA_ALGO_SHA1_160 3
#define BCA_ALGO_DES 100
#define BCA_ALGO_3DES_2KEY 101
#define BCA_ALGO_3DES_3KEY 102
#define BCA_ALGO_SSF33 103
#define BCA_ALGO_RC2 104
#define BCA_ALGO_RC4 105
#define BCA_ALGO_RSA 200
#define BCA_KEYUSAGE_KEYEXCHANGE 1
#define BCA_KEYUSAGE_SIGN 2
#define BCA_MODE_ECB 1
#define BCA_MODE_CBC 2
#define BCA_MODE_CFB 3
#define BCA_MODE_OFB 4
#define BCA_KEYINFO_DEV_GENERATE 1 //设备产生
#define BCA_KEYINFO_KEY 2 //外部输入KEY
#define BCA_KEYINFO_IV 3 //外部输入IV
#define BCA_KEYINFO_PASSWORD_DERIVE_KEY 4 //通过口令生成KEY
typedef int BCA_RV;
#define BCA_MAX_CONTAINER 128
typedef struct BCA_USR_CERT_ENUMLIST_ {
unsigned long certCount;
unsigned char *certificate[BCA_MAX_CONTAINER];
unsigned long certificateLen[BCA_MAX_CONTAINER];
unsigned char containerName[BCA_MAX_CONTAINER][300];
unsigned long containerNameLen[BCA_MAX_CONTAINER];
unsigned long keyUsage[BCA_MAX_CONTAINER];
} BCA_USR_CERT_ENUMLIST;
typedef struct BCA_USR_KEYPAIR_ENUMLIST_ {
unsigned long keyPairCount;
unsigned char containerName[BCA_MAX_CONTAINER][300];
unsigned long containerNameLen[BCA_MAX_CONTAINER];
unsigned long keyUsage[BCA_MAX_CONTAINER];
} BCA_USR_KEYPAIR_ENUMLIST;
#define BCA_GET_CERT_VERSION 1
#define BCA_GET_CERT_SERIAL 2
#define BCA_GET_CERT_ISSUER 5
#define BCA_GET_CERT_VALID_TIME 6
#define BCA_GET_CERT_SUBJECT 7
#define BCA_GET_CERT_DER_PUBLIC_KEY 8
#define BCA_NAMETYPE_UTF8_STRING 1
#define BCA_NAMETYPE_NUMERIC_STRING 2
#define BCA_NAMETYPE_PRINTABLE_STRING 3
#define BCA_NAMETYPE_T61_STRING 4
#define BCA_NAMETYPE_VIDEOTEX_STRING 6
#define BCA_NAMETYPE_IA5_STRING 7
#define BCA_NAMETYPE_GRAPHIC_STRING 8
#define BCA_NAMETYPE_VISIBLE_STRING 9
#define BCA_NAMETYPE_GENERAL_STRING 10
#define BCA_NAMETYPE_UNIVERSAL_STRING 11
#define BCA_NAMETYPE_BMP_STRING 12
#define BCA_MAX_NAME_SIZE 128
typedef struct{
unsigned long dn_c_type[2];
unsigned char dn_c[2][BCA_MAX_NAME_SIZE];
unsigned long dn_c_len[2];
unsigned long dn_s_type[2];
unsigned char dn_s[2][BCA_MAX_NAME_SIZE];
unsigned long dn_s_len[2];
unsigned long dn_l_type[2];
unsigned char dn_l[2][BCA_MAX_NAME_SIZE];
unsigned long dn_l_len[2];
unsigned long dn_o_type[2];
unsigned char dn_o[2][BCA_MAX_NAME_SIZE];
unsigned long dn_o_len[2];
unsigned long dn_ou_type[2];
unsigned char dn_ou[2][BCA_MAX_NAME_SIZE];
unsigned long dn_ou_len[2];
unsigned long dn_cn_type[2];
unsigned char dn_cn[2][BCA_MAX_NAME_SIZE];
unsigned long dn_cn_len[2];
unsigned long dn_email_type[2];
unsigned char dn_email[2][BCA_MAX_NAME_SIZE];
unsigned long dn_email_len[2];
}BCA_NAME_INFO;
/********************************************************************
*
* Error Defines
*
********************************************************************/
#define RV_OK 0
#define RV_UnknownErr -1
#define RV_NotSupportYetErr -2
#define RV_FileErr -3
#define RV_ProviderTypeErr -4
#define RV_LoadProviderErr -5
#define RV_LoadDevMngApiErr -6
#define RV_AlgoTypeErr -7
#define RV_NameLenErr -8
#define RV_KeyUsageErr -9
#define RV_ModulusLenErr -10
#define RV_NotInitializeErr -11
#define RV_ObjErr -12
#define RV_NotLoginErr -13
#define RV_PinErr -14
#define RV_TooManKeyErr -15
#define RV_OpenDevErr -16
#define RV_MutexErr -17
#define RV_MemoryErr -100
#define RV_TimeoutErr -101
#define RV_IndataLenErr -200
#define RV_IndataErr -201
#define RV_GenRandErr -300
#define RV_HashObjErr -301
#define RV_HashErr -302
#define RV_GenRsaKeyErr -303
#define RV_RsaModulusLenErr -304
#define RV_CspImprtPubKeyErr -305
#define RV_RsaEncErr -306
#define RV_RsaDecErr -307
#define RV_HashNotEqualErr -308
#define RV_KeyNotFountErr -309
#define RV_CertNotFountErr -310
#define RV_NotExportErr -311
#define RV_CSPEncErr -312
#define RV_CSPDecErr -313
#define RV_CSPSignErr -314
#define RV_ImportCertErr -315
#define RV_ImportRSAErr -316
#define RV_CertVerifyErr -317
#define RV_PfxCeatErr -318
#define RV_SignErr -319
#define RV_P11SignErr -320
#define RV_EncErr -321
#define RV_DecErr -322
#define RV_VerifyErr -323
#define RV_P11CreatObjErr -324
#define RV_P11DestroyObjErr -325
#define RV_P11ObjEXISTSErr -326
#define RV_DecryptPadErr -400
#define RV_MacLenErr -401
#define RV_KeyInfoTypeErr -402
#define RV_CertEncodeErr -500
#define RV_CertTimeInvaildErr -501
#define RV_CertSignErr -502
#define RV_CertRevokedErr -503
#define RV_CrlEncodeErr -504
#define RV_CertSerialNumberErr -505
#define RV_CertIssuerNameErr -506
#define RV_PfxEncodeErr -507
#define RV_RSAEncodeErr -508
#define RV_P7EncodeErr -509
#define RV_PfxPassErr -510
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -