beautypg.com

4 developing custom apps, 1 about device detection, 2 about security – MagTek iDynamo User Manual

Page 14: 3 about card reads, 4 about states, Developing custom apps, About device detection, About security, About card reads, About states

background image

4 - Developing Custom Apps

iDynamo| MagneSafe Secure Card Reader Authenticator | Technical Reference Manual


Page 14

4

Developing Custom Apps

iDynamo supports development of custom third-party apps. This section provides some information
pertinent to developing apps that are compatible with iDynamo. For further information, see these
reference documents, which are available from the MagTek documentation web site found at

http://www.magtek.com/support/documentation/documentation.asp

:

iDynamo MagneSafe V5 Communication Reference Manual (99875483)

Communication with iDynamo (a Made for iPhone External Accessory) (99875555)


For more information about key management, see ANS X9.24-2004 Retail Financial Services
Symmetric Key Management Part 1: Using Symmetric Techniques

4.1 About Device Detection

The iDynamo reader goes through an identification and authentication process each time it is attached to
an iOS device. After the process is successful, the reader becomes available to the operating system.
Apps can then open a communication channel to the reader and send commands to / receive responses
from the reader.

To set up a communications channel, the app will need the following two pieces of information:

SDK Protocol / Bundle Identifier = com.magtek.idynamo

Bundle Seed ID = a 10 character string assigned by Apple Inc. to the developer


For details about iOS app development, see

https://developer.apple.com/devcenter/ios

.

4.2 About Security

iDynamo can be configured to require mutual authentication with an authentication / cryptographic host
before it will transmit card data. This functionality can be activated by the app.

4.3 About Card Reads

After the iOS device identifies and authenticates the iDynamo, apps may open a session with it. A card
may be swiped through the reader slot. Encrypted data will be sent through the connector to the app,
which will then transmit it to a cryptographic host for decryption. Data may be sent in 2 blocks.
iDynamo is ready to read the next card immediately.

4.4 About States

Apps can determine the state of the reader at any time using the Get Reader State command. As a
convention, this document refers to device states with the notation State:Antecedent (for example,
WaitActAuth:BadSwipe). State definitions can be found at the definition of the Get Reader
State command in the iDynamo MagneSafe Communication Reference Manual.

In most cases, the app can also infer a reader’s state. As the app interacts with a reader, most state
transitions are indicated by commands and responses. The one exception is the transition from
WaitActRply:x to WaitActAuth:TOAuth. This state transition occurs as the result of a timeout,
so it is not reported to the app. If the app sets a limited period of time for the reader to wait for the next
command, it should anticipate that a timeout could occur before it sends the Activation
Challenge Reply command. If the app sends the Activation Challenge Reply command
after the reader timeout occurs, the reader will return response code 07 (sequence error).