【问题标题】:ISO 8583 Rev.93 - Connecting to channelISO 8583 Rev.93 - 连接到通道
【发布时间】:2011-10-18 04:46:46
【问题描述】:

我对整个 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 密钥的用途。

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

谢谢。

【问题讨论】:

    标签: c# iso8583 core-banking


    【解决方案1】:

    请为您的问题寻找答案:

    我不知道的事情:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2020-11-29
      • 2019-05-13
      • 2018-09-03
      • 2015-05-04
      • 2012-04-25
      相关资源
      最近更新 更多