5 // Created by Richard Murphy on 12/4/14.
9 #ifndef sec_SOSPeerInfoPriv_h
10 #define sec_SOSPeerInfoPriv_h
12 #include <CoreFoundation/CFRuntime.h>
13 #include <CoreFoundation/CoreFoundation.h>
14 #include <utilities/SecCFWrappers.h>
16 struct __OpaqueSOSPeerInfo
{
19 CFMutableDictionaryRef description
;
23 CFDictionaryRef gestalt
;
27 CFStringRef verifiedAppKeyID
;
30 /* V2 and beyond are listed below */
31 CFMutableDictionaryRef v2Dictionary
;
34 CF_RETURNS_RETAINED SOSPeerInfoRef
SOSPeerInfoAllocate(CFAllocatorRef allocator
);
35 bool SOSPeerInfoSign(SecKeyRef privKey
, SOSPeerInfoRef peer
, CFErrorRef
*error
);
36 bool SOSPeerInfoVerify(SOSPeerInfoRef peer
, CFErrorRef
*error
);
37 void SOSPeerInfoSetVersionNumber(SOSPeerInfoRef pi
, int version
);
39 SOSPeerInfoRef
SOSPeerInfoCopyWithModification(CFAllocatorRef allocator
, SOSPeerInfoRef original
,
40 SecKeyRef signingKey
, CFErrorRef
*error
,
41 bool (^modification
)(SOSPeerInfoRef peerToModify
, CFErrorRef
*error
));
43 extern const CFStringRef peerIDLengthKey
;