/ src / frameworks / CryptoTokenKit / include / ctkclient.h
ctkclient.h
 1  #ifndef _CTK_CLIENT_H_
 2  #define _CTK_CLIENT_H_
 3  
 4  #include <CoreFoundation/CoreFoundation.h>
 5  
 6  #include <ACMAclDefs.h>
 7  #include <ACMDefs.h>
 8  
 9  CF_IMPLICIT_BRIDGING_ENABLED
10  CF_EXTERN_C_BEGIN
11  
12  #define kTKErrorDomain "TKErrorDomain"
13  #define kTKErrorCodeNotImplemented -1
14  #define kTKErrorCodeCommunicationError -2
15  #define kTKErrorCodeCorruptedData -3
16  #define kTKErrorCodeCanceledByUser -4
17  #define kTKErrorCodeAuthenticationFailed -5
18  #define kTKErrorCodeObjectNotFound -6
19  #define kTKErrorCodeTokenNotFound -7
20  #define kTKErrorCodeBadParameter -8
21  #define kTKErrorCodeAuthenticationNeeded -9
22  #define kTKErrorAuthenticationFailed TKErrorCodeAuthenticationFailed
23  #define kTKErrorObjectNotFound TKErrorCodeObjectNotFound
24  #define kTKErrorTokenNotFound TKErrorCodeTokenNotFound
25  
26  #define kTKTokenControlAttribAttestingKey "TKTokenControlAttribAttesting"
27  #define kTKTokenControlAttribKeyToAttest "TKTokenControlAttribKeyToAttest"
28  #define kTKTokenControlAttribAttestationData "TKTokenControlAttribAttestationData"
29  #define kTKTokenControlAttribLifetimeControlKey "TKTokenControlAttribLifetimeControlKey"
30  #define kTKTokenControlAttribLifetimeType "TKTokenControlAttribLifetimeType"
31  
32  #define kTKTokenCreateAttributeAuxParams "TKTokenCreateAttributeAuxParams"
33  #define kTKTokenCreateAttributeTestMode "kTKTokenCreateAttributeTestMode"
34  #define TKTokenKeyUsageAny 1
35  
36  typedef const struct CF_BRIDGED_TYPE(id) __TKToken * TKTokenRef;
37  
38  CF_EXPORT
39  CFDataRef TKTokenCopyObjectAccessControl(TKTokenRef token, CFDataRef object_id, CFErrorRef *error);
40  
41  CF_EXPORT
42  CFDataRef TKTokenCopyPublicKeyData(TKTokenRef token_id, CFDataRef objectID, CFErrorRef *error);
43  
44  CF_EXPORT
45  int TKTokenDeleteObject(TKTokenRef token, CFDataRef object_id, CFErrorRef *error);
46  
47  CF_EXPORT
48  CFDataRef TKTokenCopySignature(TKTokenRef token, CFDataRef objectID, uint32_t padding, CFDataRef digest, CFErrorRef *error);
49  
50  CF_EXPORT
51  TKTokenRef TKTokenCreate(CFDictionaryRef token_attrs, CFErrorRef *error);
52  
53  CF_EXPORT
54  CFDataRef TKTokenCreateOrUpdateObject(TKTokenRef token, CFDataRef objectID, CFDictionaryRef token_attrs, CFErrorRef *error);
55  
56  CF_EXPORT
57  CFDataRef TKTokenCopyObjectData(TKTokenRef token, CFDataRef object_id, CFErrorRef *error);
58  
59  CF_EXPORT
60  CFDataRef TKTokenCopyObjectCreationAccessControl(TKTokenRef token, CFTypeRef object_or_attrs, CFErrorRef *error);
61  
62  CF_EXPORT
63  CFDataRef TKTokenCopyOperationResult(TKTokenRef token, CFDataRef objectID, int operation, CFArrayRef algorithms, int other, CFTypeRef in1, CFTypeRef in2, CFErrorRef *error);
64  
65  CF_EXPORT
66  CFDictionaryRef TKTokenControl(TKTokenRef token, CFDictionaryRef attributes, CFErrorRef *error);
67  
68  CF_EXPORT
69  CFArrayRef TKTokenCopyIdentities(TKTokenRef token, int usage, CFErrorRef *error);
70  
71  CF_EXPORT
72  void TKBindUserAm(CFStringRef cf_user, CFDataRef pub_key_hash, void *unknown);
73  
74  CF_EXTERN_C_END
75  CF_IMPLICIT_BRIDGING_DISABLED
76  
77  #endif