/ OSX / sec / Security / SecRecoveryKey.h
SecRecoveryKey.h
 1  //
 2  //  SecRecoveryKey.h
 3  //
 4  //
 5  
 6  #ifndef SecRecoveryKey_h
 7  #define SecRecoveryKey_h
 8  
 9  #include <Security/Security.h>
10  #if __OBJC__
11  @class SecRecoveryKey;
12  #else
13  typedef struct __SecRecoveryKey SecRecoveryKey;
14  #endif
15  
16  bool
17  SecRKRegisterBackupPublicKey(SecRecoveryKey *rk, CFErrorRef *error);
18  
19  #if __OBJC__
20  
21  /*
22   * Constants for the verifier dictionary returned from SecRKCopyAccountRecoveryVerifier
23   */
24  
25  extern NSString *const kSecRVSalt;
26  extern NSString *const kSecRVIterations;
27  extern NSString *const kSecRVProtocol;
28  extern NSString *const kSecRVVerifier;
29  extern NSString *const kSecRVMasterID;
30  
31  
32  SecRecoveryKey *
33  SecRKCreateRecoveryKey(NSString *recoveryKey);
34  
35  SecRecoveryKey *
36  SecRKCreateRecoveryKeyWithError(NSString *masterKey, NSError **error);
37  
38  NSString *
39  SecRKCreateRecoveryKeyString(NSError **error);
40  
41  NSString *
42  SecRKCopyAccountRecoveryPassword(SecRecoveryKey *rk);
43  
44  NSData *
45  SecRKCopyBackupFullKey(SecRecoveryKey *rk);
46  
47  NSData *
48  SecRKCopyBackupPublicKey(SecRecoveryKey *rk);
49  
50  NSDictionary *
51  SecRKCopyAccountRecoveryVerifier(NSString *recoveryKey,
52                                   NSError **error);
53  
54  #else
55  
56  SecRecoveryKey *
57  SecRKCreateRecoveryKey(CFStringRef recoveryKey);
58  
59  CFDataRef
60  SecRKCopyBackupFullKey(SecRecoveryKey *rk);
61  
62  CFDataRef
63  SecRKCopyBackupPublicKey(SecRecoveryKey *rk);
64  
65  #endif
66  
67  #endif