ISO 8583 Rev.93 - 连接到通道
我对整个 ISO8583 概念相当陌生,并被分配连接到银行的渠道。
我使用 John Oxley 的 Excellent OpenIso8583.Net 制作一条 Iso8583 标准消息并通过TCP。
他们向我提供了一些我无法清楚理解的基本信息。
不幸的是,我没有任何可用资源来获取更多信息,并希望从社区获得一些指南。
银行给了我一个测试卡号 (PAN)(16 位数字)、一个 PIN 码(4 位数字)、一个网点号码和一个 MAC 密钥。
这是我到目前为止所得到的:
- msg[Iso8583Rev93.Bit._002_PAN] 中包含 PAN。
- 在 msg[Iso8583Rev93.Bit._052_PIN_DATA] 中:他们为我提供了一种基于 PAN 和 PIN 码生成 16 字节 PIN 块的算法。我已经成功地根据该算法生成了正确的 PIN 块。
我不知道的事情:
他们说 PIN BLOCK 是使用 DES 算法加密的。我应该将加密的 PIN 块放在哪里?它超过 16 个字节,不能在 msg[Iso8583Rev93.Bit._052_PIN_DATA] 中,对吧?
我应该如何使用他们为我提供的 MAC 密钥?他们表示 MAC 是使用 DES-CBC 算法生成的。他们提供的 MAC 密钥长 16 个字节(16 位数字)。我应该在 msg[Iso8583Rev93.Bit._128_MAC] 字段中输入什么?我应该用这个 MAC 密钥加密整个消息吗?我似乎不明白 MAC 密钥的用途。
插座号有什么用?是不是类似于端口号(如果你称之为软件插槽)之类的东西,可以让用户连接到频道?
谢谢。
I'm fairly new to the whole ISO8583 concept and have been assigned to connect to a Bank's channel.
I have used John Oxley's Excellent OpenIso8583.Net to make a Iso8583-standard message and send it via tcp.
They provided me some basic information which i cannot manage to understand clearly.
Unfortunately, I do not have any resources available for more information and was hoping to get some guides from the community.
The bank has given me a test Card Number (PAN)(16 digits), a PIN Code(4 digits), an Outlet number, and a MAC Key.
Here's what I have so far:
- in msg[Iso8583Rev93.Bit._002_PAN] goes the PAN.
- in msg[Iso8583Rev93.Bit._052_PIN_DATA]: They have provided me an algorithm to generate a 16 byte PIN block based on PAN and PIN Code. I have managed to generate a correct PIN block based on that algorithm.
The things I don't have any idea about:
They stated that PIN BLOCK is encrypted using DES algorithm. Where should I put the encrypted PIN block? it's more that 16 bytes and cannot be in msg[Iso8583Rev93.Bit._052_PIN_DATA] right?
How should I make use of the MAC key they have provided for me? They stated that MAC is generated using DES-CBC algorithm. the MAC key they have provided is 16 bytes long(16 digits). What should I put in msg[Iso8583Rev93.Bit._128_MAC] field? Should I encrypt the whole message with this MAC key? I seem to be lost in understanding what the MAC key is used for.
What's the use of the outlet number?Is it something like a port number (a software slot if you call it) to allow users to connect to channel?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请找到您问题的答案:
我不知道的事情:
他们说 PIN BLOCK 是使用 DES 算法加密的。我应该将加密的 PIN 块放在哪里?它超过 16 个字节,不能在 msg[Iso8583Rev93.Bit._052_PIN_DATA] 中,对吗?
加密的 PIN 块应该转到位 052,您不应该通过明确的 PIN 块,如果您的加密 PIN 数据的结果超过 16 位数字,那么您的算法有问题;数据加密标准3DES 应该具有循环行为,并且结果应限制为 16 位数字。
我应该如何使用他们为我提供的 MAC 密钥?他们表示 MAC 是使用 DES-CBC 算法生成的。他们提供的 MAC 密钥长 16 个字节(16 位数字)。我应该在 msg[Iso8583Rev93.Bit._128_MAC] 字段中输入什么?我应该用这个 MAC 密钥加密整个消息吗?我似乎不明白 MAC 密钥的用途。
您应该在银行提供的规范中包含要进行 MAC 处理的选定字段列表,通常是:
插座号有什么用?是不是类似于端口号(如果你称之为软件插槽)之类的东西,可以让用户连接到频道?
通常网点号码是与收单银行相关的一些数据,它会与42字段相关
我要强调一点,ISO8583不是一个严格的框架,双方决定使用的手段集成应该决定每个字段中传递的数据的细节
kindly find answers to your queries:
The things I don't have any idea about:
They stated that PIN BLOCK is encrypted using DES algorithm. Where should I put the encrypted PIN block? it's more that 16 bytes and cannot be in msg[Iso8583Rev93.Bit._052_PIN_DATA] right?
Encrypted PIN Block should go to the bit 052, you should not pass a clear PIN Block, if the result of your encrypted PIN Data is more than 16 digits, then there is something wrong in your algorithm; DES & 3DES should have a cyclic behavior and the outcome should be restricted to 16 digits.
How should I make use of the MAC key they have provided for me? They stated that MAC is generated using DES-CBC algorithm. the MAC key they have provided is 16 bytes long(16 digits). What should I put in msg[Iso8583Rev93.Bit._128_MAC] field? Should I encrypt the whole message with this MAC key? I seem to be lost in understanding what the MAC key is used for.
you should have in the specification provided by the bank a list of selected fields to be MACed, usually it is:
What's the use of the outlet number?Is it something like a port number (a software slot if you call it) to allow users to connect to channel?
Usually outlet number is some data related to the acquiring bank, it would be related to the field 42
I would emphasize on one point, that ISO8583 is not a strict framework, where both parties who decided to use as means of integration should decide on the specifics of data passed in each field