- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BST数据通信程序设计说明书0416
民生银行BST数据通信服务器程序设计说明书
设计概要
该服务器程序主要完成的功能为:
主要作为数据通信数据转发系统;在UNIX平台上开启一个TCP/IP协议的服务器端程序,通过SOCKET接口接收到BST的WEB SERVER转发的BST交易请求包时有子进程完成与主机的通信;子进程将请求包按照民生银行提供的MAPFILE(交易数据格式)进行数据重组,形成主机请求包,并与银行通信服务器(ELINK)建立socket连接,发送请求包,并接收主机响应包。最后将响应包按照MAPFILE输出格式解包并发送给WEB SERVER。
另外要完成申请终端工作密钥,交易时与银行加密机进行密钥交换的工作。具体说明在后面章节说明。
目录说明
$HOME/include/ 所有的头文件,包括银行接口的。
$HOME/lib/ 所有的库文件。
$HOME/bin/ 运行目录。运行文件名为‘server’,运行./r为后台运行。
$HOME/etc/mapfile 银行数据接口定义文件。
$HOME/etc/syscfg 所有的配置文件。
三 详细程序设计及流程说明
3.1 主程序模块框图
说明:
(1) 配置表BstServ.cfg中定义了与WEB SERVER的SOCKET连接的PORT,与ELINK连接的IP地址和PORT端口。
(2) 初始化MAP结构是将银行的主机接口数据格式定义文件(MAPFILE文件)全部用动态链表实现,以便提高访问速度。有关说明在后面章节。
(3) 初始化包头配置结构,是将MAPFILE定义的报文头的配置表载入到全局变量?Sys_Head中,也为了提高访问速度。具体配置见后面章节。
(4) 将子进程中的MAP结构链表释放,防止占用内存。
3.2 主机通信模块框图(DoWithHost()函数)
功能:打主机包-发送-接收-解包-组返回响应包
3.3?MAPFILE动态#define TMAP struct T_Map
#define TINDEX struct T_Index
struct T_Map{
char Tname[16];
int Tlen;
char Ttype[1];
struct T_Map *next;
}T_Map;
struct T_Index{
char Tcode[5];
char inqname[16];
char reqname[16];
char endaddr[10];
struct T_Map *inq;
struct T_Map *req;
struct T_Index *next;
}T_Index;
每个交易对应一个T_Index结点,节点的Tcode为交易码;每个交易的结点中存放的信息有:交易码、输入MAP文件名、输出MAP文件名、交易目的地址、输入MAP链表的头指针和输出MAP链表的头指针。
输入、输出MAP链表中分别储存了相应MAPFILE的前三个字段,以便打包、解包时使用。
目前数据长度(int Tlen)与数据类型(char Ttype[1])暂时没有用到,保留以后使用。即,交易输入、输出时的交易数据(除交易包头外)的长度是变长的。
3.4 加密、验密方式的说明
在服务器程序启动时,先向主机申请工作密钥,即发送9367交易;返回的PinKey保存在SERVER端。
BST启动应用时先向SERVER发送RQK1交易包申请终端使用密钥;SERVER接收到RQK1交易时调用T_gt_working_key()函数向加密机申请,并将其返回给BST。
BST做交易时,要将密钥(WorkingKey)和PinBlock上送至SERVER,SERVER要调用
T_tr_pin_ansi_ansi()函数与加密机交换PinBlock,然后放在PAPSWD字段上送。
更改密码交易的旧密码字段也同样要加密,密钥同上。
注意:如果PSPWKD=1或者2时,SERVER会对PAPSWD和PAOLWD进行PINBLOCK的交换;如果PSPWKD=0或者没有该DDU字段时,认为不做PINBLOCK交换,SERVER会将BST上送来的密码字段原样送主机。
与WEB SERVER通信数据包格式说明
4.1 BST上送包格式
设备号 交易码 密钥 保留字段 交易包头部分 交易数据部分 5byte 4byte 16byte 25个字符零 用|分隔,数据域定长 用|分隔,数据域变长
前50个字节为与WEB SERVER的约定报文头。
其中,交易包头部分的定义在./syscfg/下,由三个配置文件定义:
system_head.cfg
cmtran_head.cfg
tran_head.cfg 具体内容请看配置文件。
您可能关注的文档
最近下载
- 浙江省杭州市上城区2024-2025学年九年级上学期语文期末试卷(含答案).pdf VIP
- 天津市西青区税务局个人所得税专项附加扣除培训辅导.pptx VIP
- 销售人员必备山东省日照市东港区医疗机构分布明细.pdf VIP
- 贵州大学《电动力学》2024 - 2025 学年第一学期期末试卷.pdf VIP
- 商用密码应用安全性评估交流V1.1.pptx VIP
- 2025年安庆辅警协警招聘考试真题必考题.docx VIP
- 《流行性腮腺炎》PPT课件.pptx VIP
- Romax软件培训教程_CCT1_连接工具.pdf VIP
- 商用密码应用安全性评估介绍V1.0.pptx VIP
- 综合布线系统运行维护规范.docx VIP
原创力文档


文档评论(0)