@imagina-build/ias-cli 0.0.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +406 -2
  2. package/bin/ias.mjs +19 -0
  3. package/package.json +31 -12
  4. package/schema/ias.schema.json +535 -0
  5. package/shared/credentials/cms.mjs +105 -0
  6. package/shared/credentials/index.mjs +354 -0
  7. package/shared/credentials/plist.mjs +93 -0
  8. package/shared/vault/approvers-vectors.mjs +188 -0
  9. package/shared/vault/approvers.mjs +234 -0
  10. package/shared/vault/index.mjs +583 -0
  11. package/shared/vault/plaintext.mjs +115 -0
  12. package/shared/vault/test-vectors/ias-vault-2/approvers.json +2122 -0
  13. package/shared/vault/test-vectors/ias-vault-2/keys.json +43 -0
  14. package/shared/vault/test-vectors/ias-vault-2/malformed.json +1739 -0
  15. package/shared/vault/test-vectors/ias-vault-2/plaintexts.json +149 -0
  16. package/shared/vault/test-vectors/ias-vault-2/runners.json +580 -0
  17. package/shared/vault/test-vectors/ias-vault-2/sealed.json +567 -0
  18. package/shared/vault/test-vectors/ias-vault-2/tampered.json +989 -0
  19. package/shared/vault/test-vectors/keys.json +31 -0
  20. package/shared/vault/test-vectors/malformed.json +1341 -0
  21. package/shared/vault/test-vectors/sealed.json +384 -0
  22. package/shared/vault/test-vectors/tampered.json +610 -0
  23. package/shared/vault/vectors.mjs +720 -0
  24. package/src/cli.mjs +231 -0
  25. package/src/commands/apps/index.mjs +36 -0
  26. package/src/commands/auth/index.mjs +141 -0
  27. package/src/commands/build/follow.mjs +168 -0
  28. package/src/commands/build/index.mjs +110 -0
  29. package/src/commands/build/local.mjs +69 -0
  30. package/src/commands/build/profile.mjs +50 -0
  31. package/src/commands/build/source.mjs +71 -0
  32. package/src/commands/builds/index.mjs +148 -0
  33. package/src/commands/credentials/index.mjs +256 -0
  34. package/src/commands/credentials/material.mjs +159 -0
  35. package/src/commands/devices/asc.mjs +116 -0
  36. package/src/commands/devices/index.mjs +65 -0
  37. package/src/commands/devices/sync.mjs +223 -0
  38. package/src/commands/dist/index.mjs +108 -0
  39. package/src/commands/doctor/index.mjs +158 -0
  40. package/src/commands/env/index.mjs +163 -0
  41. package/src/commands/github/index.mjs +53 -0
  42. package/src/commands/init/index.mjs +224 -0
  43. package/src/commands/migrate/credentials.mjs +213 -0
  44. package/src/commands/migrate/eas-cli.mjs +153 -0
  45. package/src/commands/migrate/index.mjs +73 -0
  46. package/src/commands/migrate/numbers.mjs +85 -0
  47. package/src/commands/migrate/profiles.mjs +174 -0
  48. package/src/commands/migrate/project.mjs +249 -0
  49. package/src/commands/migrate/survey.mjs +205 -0
  50. package/src/commands/migrate/variables.mjs +183 -0
  51. package/src/commands/push/index.mjs +334 -0
  52. package/src/commands/sdk/index.mjs +81 -0
  53. package/src/commands/submit/index.mjs +85 -0
  54. package/src/commands/update/index.mjs +526 -0
  55. package/src/commands/usage/index.mjs +57 -0
  56. package/src/commands/vault/approvers.mjs +129 -0
  57. package/src/commands/vault/index.mjs +159 -0
  58. package/src/commands/vault/runners.mjs +115 -0
  59. package/src/commands/vault/team.mjs +111 -0
  60. package/src/commands/version/index.mjs +71 -0
  61. package/src/commands/webhooks/index.mjs +104 -0
  62. package/src/commands/workflows/index.mjs +88 -0
  63. package/src/config.mjs +261 -0
  64. package/src/dist.mjs +99 -0
  65. package/src/errors.mjs +158 -0
  66. package/src/http.mjs +45 -0
  67. package/src/legacy.mjs +73 -0
  68. package/src/manage.mjs +120 -0
  69. package/src/ota.mjs +122 -0
  70. package/src/output.mjs +36 -0
  71. package/src/process.mjs +45 -0
  72. package/src/schema.mjs +131 -0
  73. package/src/sdk.mjs +114 -0
  74. package/src/secret-input.mjs +27 -0
  75. package/src/secrets.mjs +37 -0
  76. package/src/shared.mjs +5 -0
  77. package/src/team-vault.mjs +152 -0
  78. package/src/token-store.mjs +93 -0
@@ -0,0 +1,610 @@
1
+ {
2
+ "format": "ias-vault-1",
3
+ "description": "Well-formed envelopes that were altered: the server accepts their shape (it cannot tell), and opening them with key must fail with error.",
4
+ "warning": "Test vectors: the keys are public. Never use them for anything else.",
5
+ "base": "sealed.json, text-for-recovery-and-runner-a",
6
+ "cases": [
7
+ {
8
+ "name": "ciphertext-bit",
9
+ "description": "One bit of the first byte of data.ct flipped.",
10
+ "key": "runner-a",
11
+ "error": "decrypt-failed",
12
+ "envelope": {
13
+ "format": "ias-vault-1",
14
+ "credential": {
15
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
16
+ "type": "ios-distribution-certificate",
17
+ "version": 1
18
+ },
19
+ "data": {
20
+ "iv": "Hp-AoxVNmWFNSG35",
21
+ "ct": "HnbKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
22
+ },
23
+ "recipients": [
24
+ {
25
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
26
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
27
+ "iv": "gVsaOTmFS8aLqGlS",
28
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
29
+ },
30
+ {
31
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
32
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
33
+ "iv": "kJchZolDykWp1SpX",
34
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
35
+ }
36
+ ]
37
+ }
38
+ },
39
+ {
40
+ "name": "tag-bit",
41
+ "description": "One bit of the tag (the last byte of data.ct) flipped.",
42
+ "key": "runner-a",
43
+ "error": "decrypt-failed",
44
+ "envelope": {
45
+ "format": "ias-vault-1",
46
+ "credential": {
47
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
48
+ "type": "ios-distribution-certificate",
49
+ "version": 1
50
+ },
51
+ "data": {
52
+ "iv": "Hp-AoxVNmWFNSG35",
53
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpQ"
54
+ },
55
+ "recipients": [
56
+ {
57
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
58
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
59
+ "iv": "gVsaOTmFS8aLqGlS",
60
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
61
+ },
62
+ {
63
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
64
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
65
+ "iv": "kJchZolDykWp1SpX",
66
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
67
+ }
68
+ ]
69
+ }
70
+ },
71
+ {
72
+ "name": "data-iv",
73
+ "description": "Another data IV.",
74
+ "key": "runner-a",
75
+ "error": "decrypt-failed",
76
+ "envelope": {
77
+ "format": "ias-vault-1",
78
+ "credential": {
79
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
80
+ "type": "ios-distribution-certificate",
81
+ "version": 1
82
+ },
83
+ "data": {
84
+ "iv": "i1qEg94O5qWUyrEK",
85
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
86
+ },
87
+ "recipients": [
88
+ {
89
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
90
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
91
+ "iv": "gVsaOTmFS8aLqGlS",
92
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
93
+ },
94
+ {
95
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
96
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
97
+ "iv": "kJchZolDykWp1SpX",
98
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
99
+ }
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ "name": "ciphertext-of-other-envelope",
105
+ "description": "The data of the other envelope of the same credential, under the wraps of this one.",
106
+ "key": "runner-a",
107
+ "error": "decrypt-failed",
108
+ "envelope": {
109
+ "format": "ias-vault-1",
110
+ "credential": {
111
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
112
+ "type": "ios-distribution-certificate",
113
+ "version": 1
114
+ },
115
+ "data": {
116
+ "iv": "51Ew6h4vp1cqM3Qd",
117
+ "ct": "NBW1kV5khGN67RONaqkSUPdE5tK7kaoBxE6tuq6DkoruZIxNBHTciwxxDl54Cd7KmPPPGDDCCySwHQ"
118
+ },
119
+ "recipients": [
120
+ {
121
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
122
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
123
+ "iv": "gVsaOTmFS8aLqGlS",
124
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
125
+ },
126
+ {
127
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
128
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
129
+ "iv": "kJchZolDykWp1SpX",
130
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
131
+ }
132
+ ]
133
+ }
134
+ },
135
+ {
136
+ "name": "credential-version",
137
+ "description": "The version raised from 1 to 2: every wrap was made for version 1.",
138
+ "key": "runner-a",
139
+ "error": "unwrap-failed",
140
+ "envelope": {
141
+ "format": "ias-vault-1",
142
+ "credential": {
143
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
144
+ "type": "ios-distribution-certificate",
145
+ "version": 2
146
+ },
147
+ "data": {
148
+ "iv": "Hp-AoxVNmWFNSG35",
149
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
150
+ },
151
+ "recipients": [
152
+ {
153
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
154
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
155
+ "iv": "gVsaOTmFS8aLqGlS",
156
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
157
+ },
158
+ {
159
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
160
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
161
+ "iv": "kJchZolDykWp1SpX",
162
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
163
+ }
164
+ ]
165
+ }
166
+ },
167
+ {
168
+ "name": "credential-id",
169
+ "description": "Another credential id.",
170
+ "key": "runner-a",
171
+ "error": "unwrap-failed",
172
+ "envelope": {
173
+ "format": "ias-vault-1",
174
+ "credential": {
175
+ "id": "ffffffff-4b8f-4c1e-9a3d-2f7b8e1c6a40",
176
+ "type": "ios-distribution-certificate",
177
+ "version": 1
178
+ },
179
+ "data": {
180
+ "iv": "Hp-AoxVNmWFNSG35",
181
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
182
+ },
183
+ "recipients": [
184
+ {
185
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
186
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
187
+ "iv": "gVsaOTmFS8aLqGlS",
188
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
189
+ },
190
+ {
191
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
192
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
193
+ "iv": "kJchZolDykWp1SpX",
194
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
195
+ }
196
+ ]
197
+ }
198
+ },
199
+ {
200
+ "name": "credential-type",
201
+ "description": "Another credential type.",
202
+ "key": "runner-a",
203
+ "error": "unwrap-failed",
204
+ "envelope": {
205
+ "format": "ias-vault-1",
206
+ "credential": {
207
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
208
+ "type": "ios-provisioning-profile",
209
+ "version": 1
210
+ },
211
+ "data": {
212
+ "iv": "Hp-AoxVNmWFNSG35",
213
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
214
+ },
215
+ "recipients": [
216
+ {
217
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
218
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
219
+ "iv": "gVsaOTmFS8aLqGlS",
220
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
221
+ },
222
+ {
223
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
224
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
225
+ "iv": "kJchZolDykWp1SpX",
226
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
227
+ }
228
+ ]
229
+ }
230
+ },
231
+ {
232
+ "name": "kids-swapped",
233
+ "description": "The kids of the recovery and runner-a wraps exchanged: runner-a finds the recovery wrap under its kid.",
234
+ "key": "runner-a",
235
+ "error": "unwrap-failed",
236
+ "envelope": {
237
+ "format": "ias-vault-1",
238
+ "credential": {
239
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
240
+ "type": "ios-distribution-certificate",
241
+ "version": 1
242
+ },
243
+ "data": {
244
+ "iv": "Hp-AoxVNmWFNSG35",
245
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
246
+ },
247
+ "recipients": [
248
+ {
249
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
250
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
251
+ "iv": "gVsaOTmFS8aLqGlS",
252
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
253
+ },
254
+ {
255
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
256
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
257
+ "iv": "kJchZolDykWp1SpX",
258
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
259
+ }
260
+ ]
261
+ }
262
+ },
263
+ {
264
+ "name": "wrap-of-other-recipient",
265
+ "description": "The recovery wrap copied under the kid of runner-a, in place of its own.",
266
+ "key": "runner-a",
267
+ "error": "unwrap-failed",
268
+ "envelope": {
269
+ "format": "ias-vault-1",
270
+ "credential": {
271
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
272
+ "type": "ios-distribution-certificate",
273
+ "version": 1
274
+ },
275
+ "data": {
276
+ "iv": "Hp-AoxVNmWFNSG35",
277
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
278
+ },
279
+ "recipients": [
280
+ {
281
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
282
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
283
+ "iv": "gVsaOTmFS8aLqGlS",
284
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
285
+ },
286
+ {
287
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
288
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
289
+ "iv": "gVsaOTmFS8aLqGlS",
290
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
291
+ }
292
+ ]
293
+ }
294
+ },
295
+ {
296
+ "name": "wrap-of-other-credential",
297
+ "description": "A recovery wrap of another credential, put under runner-a.",
298
+ "key": "runner-a",
299
+ "error": "unwrap-failed",
300
+ "envelope": {
301
+ "format": "ias-vault-1",
302
+ "credential": {
303
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
304
+ "type": "ios-distribution-certificate",
305
+ "version": 1
306
+ },
307
+ "data": {
308
+ "iv": "Hp-AoxVNmWFNSG35",
309
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
310
+ },
311
+ "recipients": [
312
+ {
313
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
314
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
315
+ "iv": "gVsaOTmFS8aLqGlS",
316
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
317
+ },
318
+ {
319
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
320
+ "epk": "Guk6Vno302kiqafqOq6SctusJnksnDV4LADm5GsB2Q0",
321
+ "iv": "jvlIoUtIaO-2cGmj",
322
+ "wk": "4Xe6PEwBVTezuZkoGwiyZ26nISplZhv_P8di23OqgRTfjAYtJGWofMLdVUehIN0N"
323
+ }
324
+ ]
325
+ }
326
+ },
327
+ {
328
+ "name": "wrap-of-other-envelope",
329
+ "description": "The runner-a wrap of another envelope of the same credential in place of its own: it opens, but its data key does not open this data.",
330
+ "key": "runner-a",
331
+ "error": "decrypt-failed",
332
+ "envelope": {
333
+ "format": "ias-vault-1",
334
+ "credential": {
335
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
336
+ "type": "ios-distribution-certificate",
337
+ "version": 1
338
+ },
339
+ "data": {
340
+ "iv": "Hp-AoxVNmWFNSG35",
341
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
342
+ },
343
+ "recipients": [
344
+ {
345
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
346
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
347
+ "iv": "gVsaOTmFS8aLqGlS",
348
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
349
+ },
350
+ {
351
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
352
+ "epk": "zWtoy2Y9WhXuVvKH1lQmW6jL230r7wMkBgLKv78BhzA",
353
+ "iv": "ZkMDyCGR4fn4U327",
354
+ "wk": "QHIp0aCx4kc38VMSebyXGB8yBZ5dxiA7Hgf9jh_FoZKzRJ0z26N8NBcUCcbvQoI-"
355
+ }
356
+ ]
357
+ }
358
+ },
359
+ {
360
+ "name": "wrapped-key-bit",
361
+ "description": "One bit of the runner-a wrapped key flipped.",
362
+ "key": "runner-a",
363
+ "error": "unwrap-failed",
364
+ "envelope": {
365
+ "format": "ias-vault-1",
366
+ "credential": {
367
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
368
+ "type": "ios-distribution-certificate",
369
+ "version": 1
370
+ },
371
+ "data": {
372
+ "iv": "Hp-AoxVNmWFNSG35",
373
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
374
+ },
375
+ "recipients": [
376
+ {
377
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
378
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
379
+ "iv": "gVsaOTmFS8aLqGlS",
380
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
381
+ },
382
+ {
383
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
384
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
385
+ "iv": "kJchZolDykWp1SpX",
386
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Uc"
387
+ }
388
+ ]
389
+ }
390
+ },
391
+ {
392
+ "name": "wrap-iv",
393
+ "description": "Another IV in the runner-a wrap.",
394
+ "key": "runner-a",
395
+ "error": "unwrap-failed",
396
+ "envelope": {
397
+ "format": "ias-vault-1",
398
+ "credential": {
399
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
400
+ "type": "ios-distribution-certificate",
401
+ "version": 1
402
+ },
403
+ "data": {
404
+ "iv": "Hp-AoxVNmWFNSG35",
405
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
406
+ },
407
+ "recipients": [
408
+ {
409
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
410
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
411
+ "iv": "gVsaOTmFS8aLqGlS",
412
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
413
+ },
414
+ {
415
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
416
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
417
+ "iv": "CG1JGosEr-Gu9LuV",
418
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
419
+ }
420
+ ]
421
+ }
422
+ },
423
+ {
424
+ "name": "ephemeral-key",
425
+ "description": "Another (valid) ephemeral public key in the runner-a wrap.",
426
+ "key": "runner-a",
427
+ "error": "unwrap-failed",
428
+ "envelope": {
429
+ "format": "ias-vault-1",
430
+ "credential": {
431
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
432
+ "type": "ios-distribution-certificate",
433
+ "version": 1
434
+ },
435
+ "data": {
436
+ "iv": "Hp-AoxVNmWFNSG35",
437
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
438
+ },
439
+ "recipients": [
440
+ {
441
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
442
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
443
+ "iv": "gVsaOTmFS8aLqGlS",
444
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
445
+ },
446
+ {
447
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
448
+ "epk": "6L8x6hVnLNSV2ApoexpOCCc2CxTRdBR23DF26x0JpBc",
449
+ "iv": "kJchZolDykWp1SpX",
450
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
451
+ }
452
+ ]
453
+ }
454
+ },
455
+ {
456
+ "name": "ephemeral-key-zero",
457
+ "description": "An all-zero ephemeral key in the runner-a wrap: a low-order point whose X25519 secret is zero.",
458
+ "key": "runner-a",
459
+ "error": "unwrap-failed",
460
+ "envelope": {
461
+ "format": "ias-vault-1",
462
+ "credential": {
463
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
464
+ "type": "ios-distribution-certificate",
465
+ "version": 1
466
+ },
467
+ "data": {
468
+ "iv": "Hp-AoxVNmWFNSG35",
469
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
470
+ },
471
+ "recipients": [
472
+ {
473
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
474
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
475
+ "iv": "gVsaOTmFS8aLqGlS",
476
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
477
+ },
478
+ {
479
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
480
+ "epk": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
481
+ "iv": "kJchZolDykWp1SpX",
482
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
483
+ }
484
+ ]
485
+ }
486
+ },
487
+ {
488
+ "name": "runner-a-removed",
489
+ "description": "The runner-a wrap removed.",
490
+ "key": "runner-a",
491
+ "error": "not-a-recipient",
492
+ "envelope": {
493
+ "format": "ias-vault-1",
494
+ "credential": {
495
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
496
+ "type": "ios-distribution-certificate",
497
+ "version": 1
498
+ },
499
+ "data": {
500
+ "iv": "Hp-AoxVNmWFNSG35",
501
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
502
+ },
503
+ "recipients": [
504
+ {
505
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
506
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
507
+ "iv": "gVsaOTmFS8aLqGlS",
508
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
509
+ }
510
+ ]
511
+ }
512
+ },
513
+ {
514
+ "name": "outsider",
515
+ "description": "A valid envelope opened with a key that is not a recipient.",
516
+ "key": "outsider",
517
+ "error": "not-a-recipient",
518
+ "envelope": {
519
+ "format": "ias-vault-1",
520
+ "credential": {
521
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
522
+ "type": "ios-distribution-certificate",
523
+ "version": 1
524
+ },
525
+ "data": {
526
+ "iv": "Hp-AoxVNmWFNSG35",
527
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
528
+ },
529
+ "recipients": [
530
+ {
531
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
532
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
533
+ "iv": "gVsaOTmFS8aLqGlS",
534
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
535
+ },
536
+ {
537
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
538
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
539
+ "iv": "kJchZolDykWp1SpX",
540
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
541
+ }
542
+ ]
543
+ }
544
+ },
545
+ {
546
+ "name": "revoked-runner-a",
547
+ "description": "runner-a after its revocation (sealed.json, revoke-runner-a).",
548
+ "key": "runner-a",
549
+ "error": "not-a-recipient",
550
+ "envelope": {
551
+ "format": "ias-vault-1",
552
+ "credential": {
553
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
554
+ "type": "ios-distribution-certificate",
555
+ "version": 1
556
+ },
557
+ "data": {
558
+ "iv": "Hp-AoxVNmWFNSG35",
559
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
560
+ },
561
+ "recipients": [
562
+ {
563
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
564
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
565
+ "iv": "gVsaOTmFS8aLqGlS",
566
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
567
+ },
568
+ {
569
+ "kid": "3ZL6nCkm1BcKR1Nd5MqK3OMzPTijlc-wKtLHjIB-5hg",
570
+ "epk": "_WtawL4wS55ePjiLMn6FcPc55kKiIA3Q9ySrlSSL0j0",
571
+ "iv": "2puuuf3f6vCQyRjq",
572
+ "wk": "A19EQYJ1bAfCmBH7JAzTuSMtLttMoL1AX3BzfsqkelBq3u1IFovzFSmzcb9Ar1zK"
573
+ }
574
+ ]
575
+ }
576
+ },
577
+ {
578
+ "name": "recovery-after-version-change",
579
+ "description": "The recovery key also refuses the envelope whose version was raised.",
580
+ "key": "recovery",
581
+ "error": "unwrap-failed",
582
+ "envelope": {
583
+ "format": "ias-vault-1",
584
+ "credential": {
585
+ "id": "0d5e6c9a-4b8f-4c1e-9a3d-2f7b8e1c6a40",
586
+ "type": "ios-distribution-certificate",
587
+ "version": 2
588
+ },
589
+ "data": {
590
+ "iv": "Hp-AoxVNmWFNSG35",
591
+ "ct": "H3bKVI3MnjfMdX1SDz9oNf7pN_Y03jHt_ttDaw42PdbwY_EyN-HXFv7PhsO55OwGFL05nenQXcUYpA"
592
+ },
593
+ "recipients": [
594
+ {
595
+ "kid": "gY6AuqT5ADs7vK-fmj9UEb5Gf6ZSdOLxT1mBWwD5hA0",
596
+ "epk": "Elwq15U3Nxrb6iCJg-aWOEcfsd9DFbIIX4EgCt06qVM",
597
+ "iv": "gVsaOTmFS8aLqGlS",
598
+ "wk": "b8ao7aW61LvHQn8xzWHDjT_ocDJGHxclZta5Q2QoV-cS3_84ssTw1zizzVeNBcUF"
599
+ },
600
+ {
601
+ "kid": "OHeCFPD25tPd2DRaYj34dS7DLtio-1gUq_-NYsYmqNk",
602
+ "epk": "D4lqNnuzZL65zNTmyaKekxzeSwIPF9rruhZkDNxmXSw",
603
+ "iv": "kJchZolDykWp1SpX",
604
+ "wk": "AJZjHoXSPJnJydcBz-OiWEtyl5YKjyO1tN0G5vCrX7C6XNcQxsdydovX9zp8j9Ud"
605
+ }
606
+ ]
607
+ }
608
+ }
609
+ ]
610
+ }