您的位置:首页 > 其它

CPU卡程序设计实例(二十四)生成过程密钥

2017-04-29 22:40 190 查看
/*******************************************

函数名称:GetProcessKey

函数功能:生成过程密钥

输入参数:cApplyNum[8]-卡公共应用信息文件中的序列号, KEYNum2,密钥标识

输出参数:无

描述:发命令头--正确,则发数据--判断响应数据是否正确

*******************************************/

void GetProcessKey(unsigned char cApplyNum[8],unsigned char KEYNum2)

{

cCommandLen=0x05;

TxAndRxBuff[0]=0x80;

TxAndRxBuff[1]=0xfa;

TxAndRxBuff[2]=0x00;

TxAndRxBuff[3]=KEYNum2;

TxAndRxBuff[4]=0x08;

SendCommandHead_Pro(); //先发送5个头文件,看返回结果是否正确

if(ErrorRWBIT&CardError) goto ProduProccKeyEnd;

Delay1XETU(4);

cCommandLen=8;

//卡公共应用信息文件中的序列号

memcpy(&TxAndRxBuff[0],&cApplyNum[0],8);

SendCommand(cCommandLen);

TxAndRxBuff[0]=EsamReceChar();

TxAndRxBuff[1]=EsamReceChar();

if((TxAndRxBuff[0]!=0x90)&&(TxAndRxBuff[1]!=0x00))

CardError=ErrorRWBIT|CardError;

ProduProccKeyEnd:

delay_ms2M(5);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息