]> git.saurik.com Git - apple/security.git/blob - keychain/tppolicy/main.m
Security-59306.11.20.tar.gz
[apple/security.git] / keychain / tppolicy / main.m
1 //
2 // main.m
3 // tppolicy
4 //
5 // Created by Ben Williamson on 7/13/18.
6 //
7
8 #import <Foundation/Foundation.h>
9 #import <TrustedPeers/TrustedPeers.h>
10
11 int main(int argc, const char * argv[])
12 {
13 NSArray<TPPolicyDocument*> *docs
14 = @[
15 [TPPolicyDocument policyDocumentWithVersion:1
16 modelToCategory:@[
17 @{ @"prefix": @"iPhone", @"category": @"full" },
18 @{ @"prefix": @"iPad", @"category": @"full" },
19 @{ @"prefix": @"Mac", @"category": @"full" },
20 @{ @"prefix": @"iMac", @"category": @"full" },
21 @{ @"prefix": @"AppleTV", @"category": @"tv" },
22 @{ @"prefix": @"Watch", @"category": @"watch" },
23 ]
24 categoriesByView:@{
25 @"WiFi": @[ @"full", @"tv", @"watch" ],
26 @"SafariCreditCards": @[ @"full" ],
27 @"PCSEscrow": @[ @"full" ]
28 }
29 introducersByCategory:@{
30 @"full": @[ @"full" ],
31 @"tv": @[ @"full", @"tv" ],
32 @"watch": @[ @"full", @"watch" ]
33 }
34 redactions:@{}
35 keyViewMapping:@[]
36 hashAlgo:kTPHashAlgoSHA256],
37 [TPPolicyDocument policyDocumentWithVersion:2
38 modelToCategory:@[
39 @{ @"prefix": @"iCycle", @"category": @"full" }, // new
40 @{ @"prefix": @"iPhone", @"category": @"full" },
41 @{ @"prefix": @"iPad", @"category": @"full" },
42 @{ @"prefix": @"Mac", @"category": @"full" },
43 @{ @"prefix": @"iMac", @"category": @"full" },
44 @{ @"prefix": @"AppleTV", @"category": @"tv" },
45 @{ @"prefix": @"Watch", @"category": @"watch" },
46 ]
47 categoriesByView:@{
48 @"WiFi": @[ @"full", @"tv", @"watch" ],
49 @"SafariCreditCards": @[ @"full" ],
50 @"PCSEscrow": @[ @"full" ]
51 }
52 introducersByCategory:@{
53 @"full": @[ @"full" ],
54 @"tv": @[ @"full", @"tv" ],
55 @"watch": @[ @"full", @"watch" ]
56 }
57 redactions:@{}
58 keyViewMapping:@[]
59 hashAlgo:kTPHashAlgoSHA256],
60 [TPPolicyDocument policyDocumentWithVersion:3
61 modelToCategory:@[
62 @{ @"prefix": @"Watch7", @"category": @"full" }, // upgraded
63 @{ @"prefix": @"iCycle", @"category": @"full" },
64 @{ @"prefix": @"iPhone", @"category": @"full" },
65 @{ @"prefix": @"iPad", @"category": @"full" },
66 @{ @"prefix": @"Mac", @"category": @"full" },
67 @{ @"prefix": @"iMac", @"category": @"full" },
68 @{ @"prefix": @"AppleTV", @"category": @"tv" },
69 @{ @"prefix": @"Watch", @"category": @"watch" },
70 ]
71 categoriesByView:@{
72 @"WiFi": @[ @"full", @"tv", @"watch" ],
73 @"SafariCreditCards": @[ @"full" ],
74 @"PCSEscrow": @[ @"full" ]
75 }
76 introducersByCategory:@{
77 @"full": @[ @"full" ],
78 @"tv": @[ @"full", @"tv" ],
79 @"watch": @[ @"full", @"watch" ]
80 }
81 redactions:@{}
82 keyViewMapping:@[]
83 hashAlgo:kTPHashAlgoSHA256],
84 ];
85
86 for (TPPolicyDocument *doc in docs) {
87 NSString *base64 = [doc.protobuf base64EncodedStringWithOptions:0];
88 printf("policyVersion: %llu,\n", doc.policyVersion);
89 printf("policyHash: \"%s\",\n", doc.policyHash.UTF8String);
90 printf("policyData: \"%s\"\n", base64.UTF8String);
91 }
92 return 0;
93 }