6

我对整个 ISO8583 概念还很陌生,并且已被分配连接到银行的渠道。

我使用 John Oxley 的优秀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 密钥的用途。

  • 出口号有什么用?它是不是类似于端口号(如果你称之为软件插槽)允许用户连接到频道?

谢谢你。

4

1 回答 1

3

请找到您的疑问的答案:

我不知道的事情:

  1. 他们说 PIN BLOCK 是使用 DES 算法加密的。我应该把加密的 PIN 块放在哪里?它超过 16 个字节,不能在 msg[Iso8583Rev93.Bit._052_PIN_DATA] 中,对吗?
    加密的 PIN Block 应该到 052 位,你不应该传递一个清晰的 PIN Block,如果你加密的 PIN 数据的结果超过 16 位,那么你的算法有问题;DES 和 3DES 应该具有循环行为,并且结果应该限制为 16 位。

  2. 我应该如何使用他们为我提供的 MAC 密钥?他们表示 MAC 是使用 DES-CBC 算法生成的。他们提供的 MAC 密钥长 16 个字节(16 位)。我应该在 msg[Iso8583Rev93.Bit._128_MAC] 字段中输入什么?我应该用这个 MAC 密钥加密整个消息吗?我似乎迷失了理解 MAC 密钥的用途。
    您应该在银行提供的规范中列出要 MAC 化的选定字段,通常是:

    • 潘 (DE2)
    • 金额 (DE4)
    • 跟踪数据(DE35 或 DE45)
    • 密码数据 (DE52)
    • 从和到帐户(DE102 和 DE 103)

  3. 出口号有什么用?它是不是类似于端口号(如果你称之为软件插槽)允许用户连接到频道?
    通常网点编号是一些与收单行相关的数据,它会与字段42相关

我要强调一点,ISO8583 不是一个严格的框架,决定使用作为集成手段的双方应该决定每个领域传递的数据的细节

于 2011-11-01T06:06:52.467 回答