]> git.saurik.com Git - apple/security.git/blob - keychain/SecureObjectSync/SOSPeerInfoPriv.h
Security-59306.11.20.tar.gz
[apple/security.git] / keychain / SecureObjectSync / SOSPeerInfoPriv.h
1 //
2 // SOSPeerInfoPriv.h
3 // sec
4 //
5 // Created by Richard Murphy on 12/4/14.
6 //
7 //
8
9 #ifndef sec_SOSPeerInfoPriv_h
10 #define sec_SOSPeerInfoPriv_h
11
12 #include <CoreFoundation/CFRuntime.h>
13 #include <CoreFoundation/CoreFoundation.h>
14 #include <utilities/SecCFWrappers.h>
15
16 struct __OpaqueSOSPeerInfo {
17 CFRuntimeBase _base;
18 //
19 CFMutableDictionaryRef description;
20 CFDataRef signature;
21
22 // Cached data
23 CFDictionaryRef gestalt;
24 CFStringRef peerID;
25 CFIndex version;
26 CFStringRef verifiedAppKeyID;
27 bool verifiedResult;
28
29 /* V2 and beyond are listed below */
30 CFMutableDictionaryRef v2Dictionary;
31 };
32
33 CF_RETURNS_RETAINED SOSPeerInfoRef SOSPeerInfoAllocate(CFAllocatorRef allocator);
34 bool SOSPeerInfoSign(SecKeyRef privKey, SOSPeerInfoRef peer, CFErrorRef *error);
35 bool SOSPeerInfoVerify(SOSPeerInfoRef peer, CFErrorRef *error);
36 void SOSPeerInfoSetVersionNumber(SOSPeerInfoRef pi, int version);
37
38 extern const CFStringRef peerIDLengthKey;
39
40 #endif