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.