新底层密钥体系详解412教材.docx

上传人:b****3 文档编号:805511 上传时间:2022-10-13 格式:DOCX 页数:14 大小:39.61KB
下载 相关 举报
新底层密钥体系详解412教材.docx_第1页
第1页 / 共14页
新底层密钥体系详解412教材.docx_第2页
第2页 / 共14页
新底层密钥体系详解412教材.docx_第3页
第3页 / 共14页
新底层密钥体系详解412教材.docx_第4页
第4页 / 共14页
新底层密钥体系详解412教材.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

新底层密钥体系详解412教材.docx

《新底层密钥体系详解412教材.docx》由会员分享,可在线阅读,更多相关《新底层密钥体系详解412教材.docx(14页珍藏版)》请在冰豆网上搜索。

新底层密钥体系详解412教材.docx

新底层密钥体系详解412教材

1使用流程

以下写的都是针对新底层安全库部分的用法

2使用注意事项

a.每次开机进入应用程序一定要做密码键盘初始化,初始化过程实现自动检测密码键盘类型和密码键盘bps。

b.第一次装载密钥建议初始化密钥区,如果是825-6初始化时间大约30秒左右

c.为显示上兼容,在密码键盘上显示时一行内容不要超过15个字节,显示完后请调用PubClrPinPad函数恢复默认显示。

d.由于zt579e18不支持显示汉字,zt579c47显示汉字方式和nl系列密码键盘不同,建议在程序中不要显示汉字,都用英文显示,否则程序要增加判断密码键盘类型。

e.nl825-6密码键盘支持0-167组密钥,由于考虑到x993des算法的兼容,在每装载一组密钥时库里面自动多装载一次,因此实际的密码组数是0~73,因新的密钥体系外接密码键盘部分支持Pin、Mac、Track、Data四组密钥,所以实际密码组数是0-36。

f.在调用PubGetPin取密码时,如果按确认键返回表示无密码,此时可以通过第一个输出参数pszPin是否有内容来判断是否有密码。

g.在中行IST版程序中如果是3DES密钥,由于主密钥不能参加MAC运算,因此需要将主密钥当作工作密钥再保存一次。

 

3接口说明

3.1PubInitSecrity

函数名称:

intPubInitSecrity(intnMode,constSTPINPADPARAM*pstPinpadParam);

函数介绍:

初始化安全库

函数描述:

完成密码键盘自适应、设置波特率、密码键盘类型的初始化工作,指定初始化内置还是外接密码键盘。

入口参数:

nMode详见:

EM_SECRITY_MODE

STPINPADPARAM:

密码键盘参数

出口参数:

返回值:

APP_SUCC成功

其它失败

3.2PubSetCurrentMainKeyIndex

函数名称:

intPubSetCurrentMainKeyIndex(intnIndex)

函数介绍:

设置当前主密钥索引号

函数描述:

入口参数:

nIndex索引号

出口参数:

返回值:

APP_SUCC成功

其它失败

3.3PubLoadMainKey

函数名称:

intPubLoadMainKey(intnIndex,constchar*psKey,intnKeyLen)

函数介绍:

安装主密钥

函数描述:

入口参数:

nIndex索引号

psKey主密钥明文(BCD码)

nKeyLen主密钥长度8字节或16字节

出口参数:

返回值:

APP_SUCC成功

其它失败

3.4PubLoadWorkKey

函数名称:

intPubLoadWorkKey(intnKeyType,constchar*psKey,intnKeyLen,constchar*psCheckValue)

函数介绍:

安装工作密钥

函数描述:

入口参数:

nKeyType安装的工作密钥类型(详见:

EM_KEY_TYPE)

psKey工作密钥密文(BCD码)

nKeyLen工作密钥长度8字节或16字节

出口参数:

psCheckValue校验值

返回值:

APP_SUCC成功

其它失败

3.5PubGetPin

函数名称:

intPubGetPin(char*pszPin,int*pnPinLen,intnMode,constchar*pszCardno,constchar*pszAmount,intnMaxLen,intnMinLen);

函数介绍:

获取Pin

函数描述:

支持多种加密算法。

实现密码最大最小长度的设置,显示无密码时,按确认键。

密码输入提示在第二行、输入时以星号显示,密码输完,清除屏幕到默认状态;

入口参数:

nMode密码加密模式(详见:

EM_PIN_TYPE)

pszCardno卡号

pszAmount金额

nMaxLen最大的密码长度

nMinLen最小的密码长度

出口参数:

pszPin输入的Pin

pnPinLen输入Pin的长度

返回值:

APP_SUCC成功

其它失败

3.6PubGetPinExtern

函数名称:

intPubGetPinExtern(char*pszPin,int*pnPinLen,intnMode,constchar*pszCardno,intnMaxLen,intnMinLen,void(*ShowFunc)());

函数介绍:

获取Pin

函数描述:

支持自定义POS界面显示函数

入口参数:

nMode密码加密模式(详见:

EM_PIN_TYPE)

pszCardno卡号

nMaxLen最大的密码长度

nMinLen最小的密码长度

ShowFunc显示函数

出口参数:

pszPin输入的Pin

pnPinLen输入Pin的长度

返回值:

APP_SUCC成功

其它失败

3.7PubCalcMac

函数名称:

intPubCalcMac(intnMode,constchar*psData,intnDataLen,char*psMac);

函数介绍:

获取Mac

函数描述:

入口参数:

nMode计算Mac算法类型(详见:

EM_MAC_TYPE)

psData计算Mac的数据

nDataLen数据长度

出口参数:

psMacMac值

返回值:

APP_SUCC成功

其它失败

3.8PubActiveKey

函数名称:

intPubActiveKey(intnMode,intnIndex,intnActiveKeyType);

函数介绍:

激活工作密钥

函数描述:

算mac及输入密码函数前需先调用此操作

入口参数:

nMode激活模式(DESMODE_DES、DESMODE_3DES)

nIndex索引号

nActiveKeyType激活的类型(0--KEY_TYPE_PIN/1--KEY_TYPE_MAC/2--KEY_TYPE_TRACK)

出口参数:

返回值:

APP_SUCC成功

其它失败

3.9PubClearKey

函数名称:

intPubClearKey(void);

函数介绍:

清空密钥区

函数描述:

入口参数:

出口参数:

返回值:

APP_SUCC成功

其它失败

3.10PubDispPinPad

函数名称:

intPubDispPinPad(intnLine,constchar*pszData);

函数介绍:

在密码键盘上显示数据

函数描述:

入口参数:

nLine指定的行1,2

pszData待显示的字符串

出口参数:

返回值:

APP_SUCC成功

其它失败

3.11PubClrPinPad

函数名称:

intPubClrPinPad(void);

函数介绍:

密码键盘恢复默认显示界面

函数描述:

入口参数:

出口参数:

返回值:

APP_SUCC成功

其它失败

3.12PubDispDot

函数名称:

intPubDispDot(intnLine,constchar*pszDotData,intnDataLen);

函数介绍:

在密码键盘液晶屏的指定行,显示中文字符串

函数描述:

入口参数:

nLine指定的行数1,2

pszDotData待显示的数据

nDataLen待显示的数据长度

出口参数:

返回值:

APP_SUCC成功

其它失败

3.13PubGetSecrityVerion

函数名称:

voidPubGetSecrityVerion(char*pszVer);

函数介绍:

获取安全模块版本

函数描述:

注意pszVer空间不能小于12个

入口参数:

出口参数:

pszVer12字节版本号

返回值:

APP_SUCC成功

其它失败

3.14PubDes

函数名称:

intPubDes(intnKeyType,constchar*psSrc,char*psDest);

函数介绍:

Des加密数据

函数描述:

入口参数:

nKeyType密钥类型(详见:

EM_KEY_TYPE)

psSrc数据(8字节BCD码)

出口参数:

psDest密文(8字节BCD码)

返回值:

APP_SUCC成功

其它失败

3.15PubUnDes

函数名称:

intPubUnDes(intnKeyType,constchar*psSrc,char*psDest);

函数介绍:

Des解密数据

函数描述:

入口参数:

nKeyType密钥类型(详见:

EM_KEY_TYPE)

psSrc数据(8字节BCD码)

出口参数:

psDest密文(8字节BCD码)

返回值:

APP_SUCC成功

其它失败

3.16PubDes3

函数名称:

intPubDes3(intnKeyType,constchar*psSrc,char*psDest);

函数介绍:

3Des加密数据

函数描述:

入口参数:

nKeyType密钥类型(详见:

EM_KEY_TYPE)

psSrc数据(8字节BCD码)

出口参数:

psDest密文(8字节BCD码)

返回值:

APP_SUCC成功

其它失败

3.17PubUnDes3

函数名称:

intPubUnDes3(intnKeyType,constchar*psSrc,char*psDest);

函数介绍:

3Des解密数据

函数描述:

入口参数:

nKeyType密钥类型(详见:

EM_KEY_TYPE)

psSrc数据(8字节BCD码)

出口参数:

psDest密文(8字节BCD码)

返回值:

APP_SUCC成功

其它失败

3.18PubSoftDes

函数名称:

intPubSoftDes(constchar*psKey,constchar*psSrc,char*psDest);

函数介绍:

Des软加密

函数描述:

入口参数:

psKey明文密钥(8字节BCD码)

psSrc数据(8字节BCD码)

出口参数:

psDest密文(8字节BCD码)

返回值:

APP_SUCC成功

其它失败

3.19PubSoftUnDes

函数名称:

intPubSoftUnDes(constchar*psKey,constchar*psSrc,char*psDest);

函数介绍:

Des软解密

函数描述:

入口参数:

psKey明文密钥(8字节BCD码)

psSrc数据(8字节BCD码)

出口参数:

psDest密文(8字节BCD码)

返回值:

APP_SUCC成功

其它失败

3.20PubSoftDes3

函数名称:

intPubSoftDes3(constchar*psKey,constchar*psSrc,char*psDest);

函数介绍:

3Des软加密

函数描述:

入口参数:

psKey明文密钥(16字节BCD码)

psSrc数据(8字节BCD码)

出口参数:

psDest密文(8字节BCD码)

返回值:

APP_SUCC成功

其它失败

3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1