12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include "../include/PinPadClass.h"
- #include "../include/log4vendor.h"
- #include "CILIX_AUX_UTILS.h"
- class PinPadNantian : public PinPadClass
- {
- public:
- PinPadNantian();
- ~PinPadNantian();
- //DeviceBaseClass
- ErrorCodeEnum GetDevCategory(DevCategoryInfo &devCategory);
- ErrorCodeEnum Reset();
- ErrorCodeEnum DevClose();
- ErrorCodeEnum GetLastErr(DevErrorInfo &devErrInfo);
- //PinPadClass
- ErrorCodeEnum DevOpen(DWORD dwPort, DWORD dwBaudRate);
- ErrorCodeEnum KeyRead(BYTE &ch);
- ErrorCodeEnum SetParam(SetParamTypeEnum eType, SetParamValueEnum eValue);
- ErrorCodeEnum SetAccNo(AccountInfo accInfo);
- ErrorCodeEnum LoadMasterKey(MasterKeyParam masterKey);
- ErrorCodeEnum LoadWorkingKey(WorkKeyParam wkKey);
- ErrorCodeEnum ActiveWorkingKey(DWORD dwMkSN, DWORD dwWkSN);
- ErrorCodeEnum StartPinInput(BYTE byLen);
- ErrorCodeEnum StartPinInputConfirm(BYTE byLen);
- ErrorCodeEnum StartPlainInput();
- ErrorCodeEnum StopInput();
- ErrorCodeEnum GetPinBlock(PinBlock &block);
- ErrorCodeEnum EncryptData(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo);
- ErrorCodeEnum MacEncrypt(EnDecryptInfo srcInfo, EnDecryptInfo &destInfo);
- int GetEncryptFunc();
-
- BOOL m_Open; //标志设备是否打开
- DevErrorInfo m_Error; //标记错误码
- int g_flag; //标记按键输入模式
- int m_PinNum; //记录密码输入个数
- int g_Auto; //标记是否自动结束
- AccountInfo g_CardNo; //存储CustomData的数据
- DWORD g_dwMkSN; //标记主密钥号
- DWORD g_dwWkSN; //标记工作秘钥号
-
- int (*SUNSON_OpenCom)(const char *sztty, long nBaudrate);
- int (*SUNSON_GetVersionNo)(unsigned char *VersionNo);
- int (*SUNSON_CloseCom)(void);
- int (*SUNSON_ScanGetKey)(unsigned char *ucKeyValue);
- int (*SUNSON_CloseEppPlainTextMode)(unsigned char *ReturnInfo);
- int (*SUNSON_LoadSM4Key)(int ucKeyId,int ucDecryptKeyId,int KeyAttribute,unsigned char ucKeyLen,unsigned char *KeyValue,
- unsigned char *ReturnInfo);
- int (*SUNSON_LoadUserKey)(int ucKeyId, int ucDecryptKeyId, long KeyAttribute,unsigned char ucKeyLen, unsigned char *KeyValue,
- unsigned char *ReturnInfo);
- int (*SUNSON_SetKeyMark)(long ActiveFunc, long ActiveFDK, long EndFunc, long EndFDK, unsigned char*ReturnInfo);
- int (*SUNSON_GetPin)(unsigned char ucPinMinLen, unsigned char ucPinMaxLen, unsigned char AutoReturnFlag, unsigned char *ReturnInfo);
- int (*SUNSON_UseEppPlainTextMode)(unsigned char PlaintextLength, unsigned char AutoEnd, unsigned char *ReturnInfo);
- int (*SUNSON_SwitchArithmetic)(unsigned char ArithmeticType,unsigned char *DataResult);
- int (*SUNSON_GetPinBlock)(int UserKeyId, int JM_mode, unsigned char padchar, unsigned char ucCardLen, unsigned char*ucCardNumber,
- unsigned char*PinBlockResult);
- int (*SUNSON_DataCompute)(int KeyId, unsigned char JM_mode, int SF_mode, unsigned char padchar, int datalen, unsigned char *data,
- unsigned char *DataResult);
- int (*SUNSON_MakeMac)(int UserKeyId, int Mac_mode, int nMacDataLen, unsigned char *ucMacData, unsigned char *MacResult);
- int (*SUNSON_ScanKeyPress)(unsigned char *ucKeyValue);
- void (*SUNSON_OpenLogEx)(unsigned char bFlag, int nLogLevel);
- int (*SUNSON_GetSerialNo)(unsigned char *SerialNumber);
- };
|