ISO 8583 Rev.93 - 连接到通道

时间:2011-08-02 11:47:45

标签: c# iso8583 core-banking

我对整个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密钥?他们表示使用DES-CBC算法生成MAC。他们提供的MAC密钥长度为16字节(16位)。我应该在msg [Iso8583Rev93.Bit._128_MAC]字段中输入什么?我应该使用此MAC密钥加密整个邮件吗?我似乎迷失了解MAC键的用途。

  • 插座号码的用途是什么?它是否类似于端口号(如果你打电话给它的软件插槽),允许用户连接到频道?

谢谢。

1 个答案:

答案 0 :(得分:3)

请找到您的问题的答案:

我不知道的事情:

  1. 他们表示使用DES算法加密PIN BLOCK。我应该在哪里放置加密的PIN块?它是16个字节,不能在msg [Iso8583Rev93.Bit._052_PIN_DATA]中吗?
    加密的PIN块应该转到052位,你不应该通过一个清除的PIN块,如果加密的PIN数据的结果超过16位,你的算法就会出错; DES& 3DES应具有循环行为,结果应限制为16位。

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

    • PAN(DE2)
    • 金额(DE4)
    • 跟踪数据(DE35或DE45)
    • PIN数据(DE52)
    • 来自&账目(DE102& DE 103)

  3. 插座号码的用途是什么?它是否类似于端口号(如果你打电话给它的软件插槽),以允许用户连接到频道?
    通常出口号码是与收单银行有关的一些数据,它与字段42

  4. 有关

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