@@ -12,7 +12,7 @@ import XCTest
12
12
13
13
class MasterkeyFileTests : XCTestCase {
14
14
func testCreateWithContentFromData( ) throws {
15
- let data = """
15
+ let data = Data ( """
16
16
{
17
17
" version " : 7,
18
18
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -22,7 +22,7 @@ class MasterkeyFileTests: XCTestCase {
22
22
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
23
23
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+g= "
24
24
}
25
- """ . data ( using : . utf8) !
25
+ """ . utf8)
26
26
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
27
27
XCTAssertEqual ( 7 , masterkeyFile. content. version)
28
28
XCTAssertEqual ( " AAAAAAAAAAA= " , masterkeyFile. content. scryptSalt)
@@ -35,7 +35,7 @@ class MasterkeyFileTests: XCTestCase {
35
35
36
36
func testUnlockWithPassphrase( ) throws {
37
37
let expectedKey = [ UInt8] ( repeating: 0x00 , count: 32 )
38
- let data = """
38
+ let data = Data ( """
39
39
{
40
40
" version " : 7,
41
41
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -45,15 +45,15 @@ class MasterkeyFileTests: XCTestCase {
45
45
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
46
46
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+g= "
47
47
}
48
- """ . data ( using : . utf8) !
48
+ """ . utf8)
49
49
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
50
50
let masterkey = try masterkeyFile. unlock ( passphrase: " asd " , pepper: [ UInt8] ( ) )
51
51
XCTAssertEqual ( expectedKey, masterkey. aesMasterKey)
52
52
XCTAssertEqual ( expectedKey, masterkey. macMasterKey)
53
53
}
54
54
55
55
func testUnlockWithWrongPassphrase( ) throws {
56
- let data = """
56
+ let data = Data ( """
57
57
{
58
58
" version " : 7,
59
59
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -63,15 +63,15 @@ class MasterkeyFileTests: XCTestCase {
63
63
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
64
64
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+g= "
65
65
}
66
- """ . data ( using : . utf8) !
66
+ """ . utf8)
67
67
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
68
68
XCTAssertThrowsError ( try masterkeyFile. unlock ( passphrase: " qwe " , pepper: [ UInt8] ( ) ) , " wrong passphrase " ) { error in
69
69
XCTAssertEqual ( . invalidPassphrase, error as? MasterkeyFileError )
70
70
}
71
71
}
72
72
73
73
func testUnlockWithInvalidVersionMac( ) throws {
74
- let data = """
74
+ let data = Data ( """
75
75
{
76
76
" version " : 7,
77
77
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -81,15 +81,15 @@ class MasterkeyFileTests: XCTestCase {
81
81
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
82
82
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+G= "
83
83
}
84
- """ . data ( using : . utf8) !
84
+ """ . utf8)
85
85
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
86
86
XCTAssertThrowsError ( try masterkeyFile. unlock ( passphrase: " asd " , pepper: [ UInt8] ( ) ) , " invalid version mac " ) { error in
87
87
XCTAssertEqual ( . malformedMasterkeyFile( " incorrect version or versionMac " ) , error as? MasterkeyFileError )
88
88
}
89
89
}
90
90
91
91
func testUnlockWithMalformedJson1( ) throws {
92
- let data = """
92
+ let data = Data ( """
93
93
{
94
94
" version " : 7,
95
95
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -99,15 +99,15 @@ class MasterkeyFileTests: XCTestCase {
99
99
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
100
100
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+g= "
101
101
}
102
- """ . data ( using : . utf8) !
102
+ """ . utf8)
103
103
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
104
104
XCTAssertThrowsError ( try masterkeyFile. unlock ( passphrase: " asd " , pepper: [ UInt8] ( ) ) , " malformed json " ) { error in
105
105
XCTAssertEqual ( . malformedMasterkeyFile( " invalid base64 data in primaryMasterKey " ) , error as? MasterkeyFileError )
106
106
}
107
107
}
108
108
109
109
func testUnlockWithMalformedJson2( ) throws {
110
- let data = """
110
+ let data = Data ( """
111
111
{
112
112
" version " : 7,
113
113
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -117,15 +117,15 @@ class MasterkeyFileTests: XCTestCase {
117
117
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q!! " ,
118
118
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+g= "
119
119
}
120
- """ . data ( using : . utf8) !
120
+ """ . utf8)
121
121
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
122
122
XCTAssertThrowsError ( try masterkeyFile. unlock ( passphrase: " asd " , pepper: [ UInt8] ( ) ) , " malformed json " ) { error in
123
123
XCTAssertEqual ( . malformedMasterkeyFile( " invalid base64 data in hmacMasterKey " ) , error as? MasterkeyFileError )
124
124
}
125
125
}
126
126
127
127
func testUnlockWithMalformedJson3( ) throws {
128
- let data = """
128
+ let data = Data ( """
129
129
{
130
130
" version " : 7,
131
131
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -135,7 +135,7 @@ class MasterkeyFileTests: XCTestCase {
135
135
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
136
136
" versionMac " : " cn2sAK6l "
137
137
}
138
- """ . data ( using : . utf8) !
138
+ """ . utf8)
139
139
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
140
140
XCTAssertThrowsError ( try masterkeyFile. unlock ( passphrase: " asd " , pepper: [ UInt8] ( ) ) , " malformed json " ) { error in
141
141
XCTAssertEqual ( . malformedMasterkeyFile( " invalid base64 data in versionMac " ) , error as? MasterkeyFileError )
@@ -149,7 +149,7 @@ class MasterkeyFileTests: XCTestCase {
149
149
0x62 , 0x11 , 0xD9 , 0xAF , 0xE2 , 0xF5 , 0x5F , 0xDE ,
150
150
0xDF , 0xCB , 0xB5 , 0xE7 , 0x5A , 0xEF , 0x34 , 0xF9
151
151
]
152
- let data = """
152
+ let data = Data ( """
153
153
{
154
154
" version " : 7,
155
155
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -159,15 +159,15 @@ class MasterkeyFileTests: XCTestCase {
159
159
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
160
160
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+g= "
161
161
}
162
- """ . data ( using : . utf8) !
162
+ """ . utf8)
163
163
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
164
164
let kek = try masterkeyFile. deriveKey ( passphrase: " asd " , pepper: [ UInt8] ( ) )
165
165
XCTAssertEqual ( expectedKey, kek)
166
166
}
167
167
168
168
func testUnlockWithKEK( ) throws {
169
169
let expectedKey = [ UInt8] ( repeating: 0x00 , count: 32 )
170
- let data = """
170
+ let data = Data ( """
171
171
{
172
172
" version " : 7,
173
173
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -177,7 +177,7 @@ class MasterkeyFileTests: XCTestCase {
177
177
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
178
178
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+g= "
179
179
}
180
- """ . data ( using : . utf8) !
180
+ """ . utf8)
181
181
let masterkeyFile = try MasterkeyFile . withContentFromData ( data: data)
182
182
let kek : [ UInt8 ] = [
183
183
0x8C , 0xF4 , 0xA0 , 0x4E , 0xC8 , 0x45 , 0xF4 , 0x28 ,
@@ -211,7 +211,7 @@ class MasterkeyFileTests: XCTestCase {
211
211
212
212
func testChangePassphrase( ) throws {
213
213
let expectedKey = [ UInt8] ( repeating: 0x00 , count: 32 )
214
- let data = """
214
+ let data = Data ( """
215
215
{
216
216
" version " : 7,
217
217
" scryptSalt " : " AAAAAAAAAAA= " ,
@@ -221,7 +221,7 @@ class MasterkeyFileTests: XCTestCase {
221
221
" hmacMasterKey " : " mM+qoQ+o0qvPTiDAZYt+flaC3WbpNAx1sTXaUzxwpy0M9Ctj6Tih/Q== " ,
222
222
" versionMac " : " cn2sAK6l9p1/w9deJVUuW3h7br056mpv5srvALiYw+g= "
223
223
}
224
- """ . data ( using : . utf8) !
224
+ """ . utf8)
225
225
let content = try MasterkeyFile . changePassphrase ( masterkeyFileData: data, oldPassphrase: " asd " , newPassphrase: " qwe " , pepper: [ UInt8] ( ) , scryptCostParam: 2 , cryptoSupport: CryptoSupportMock ( ) )
226
226
let masterkeyFile = MasterkeyFile ( content: content)
227
227
let masterkey = try masterkeyFile. unlock ( passphrase: " qwe " , pepper: [ UInt8] ( ) )
0 commit comments