ACS Audio Jack iOS Library  1.0.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties
ACRDukptReceiver.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 Advanced Card Systems Ltd. All Rights Reserved.
3  *
4  * This software is the confidential and proprietary information of Advanced
5  * Card Systems Ltd. ("Confidential Information"). You shall not disclose such
6  * Confidential Information and shall use it only in accordance with the terms
7  * of the license agreement you entered into with ACS.
8  */
9 
10 #import <Foundation/Foundation.h>
11 
18 @interface ACRDukptReceiver : NSObject
19 
24 - (NSData *)keySerialNumber;
25 
30 - (void)setKeySerialNumber:(NSData *)keySerialNumber;
31 
37 - (void)setKeySerialNumber:(const uint8_t *)keySerialNumber length:(NSUInteger)length;
38 
43 - (NSUInteger)encryptionCounter;
44 
49 - (void)loadInitialKey:(NSData *)initialKey;
50 
56 - (void)loadInitialKey:(const uint8_t *)initialKey length:(NSUInteger)length;
57 
63 - (NSData *)key;
64 
70 + (NSData *)pinEncryptionKeyFromKey:(NSData *)key;
71 
78 + (NSData *)pinEncryptionKeyFromKey:(const uint8_t *)key length:(NSUInteger)length;
79 
85 + (NSData *)macRequestKeyFromKey:(NSData *)key;
86 
93 + (NSData *)macRequestKeyFromKey:(const uint8_t *)key length:(NSUInteger)length;
94 
100 + (NSData *)macResponseKeyFromKey:(NSData *)key;
101 
108 + (NSData *)macResponseKeyFromKey:(const uint8_t *)key length:(NSUInteger)length;
109 
115 + (NSData *)dataEncryptionRequestKeyFromKey:(NSData *)key;
116 
123 + (NSData *)dataEncryptionRequestKeyFromKey:(const uint8_t *)key length:(NSUInteger)length;
124 
130 + (NSData *)dataEncryptionResponseKeyFromKey:(NSData *)key;
131 
138 + (NSData *)dataEncryptionResponseKeyFromKey:(const uint8_t *)key length:(NSUInteger)length;
139 
146 + (NSData *)macFromData:(NSData *)data key:(NSData *)key;
147 
156 + (NSData *)macFromData:(const uint8_t *)data dataLength:(NSUInteger)dataLength key:(const uint8_t *)key keyLength:(NSUInteger)keyLength;
157 
165 + (BOOL)compareKeySerialNumber:(NSData *)ksn1 ksn2:(NSData *)ksn2;
166 
176 + (BOOL)compareKeySerialNumber:(const uint8_t *)ksn1 ksn1Length:(NSUInteger)ksn1Length ksn2:(const uint8_t *)ksn2 ksn2Length:(NSUInteger)ksn2Length;
177 
183 + (NSUInteger)encryptionCounterFromKeySerialNumber:(NSData *)ksn;
184 
191 + (NSUInteger)encryptionCounterFromKeySerialNumber:(const uint8_t *)ksn length:(NSUInteger)length;
192 
193 @end
NSData * key()
Gets the key.
NSUInteger encryptionCounter()
Gets the encryption counter.
NSData * keySerialNumber()
Gets the key serial number.
The ACRDukptReceiver class generates the future keys according to ANSI X9.24-1:2009.
Definition: ACRDukptReceiver.h:18