Mac OS 9
KeychainCore.h
Go to the documentation of this file.
1 
19 #ifndef __KEYCHAINCORE__
20 #define __KEYCHAINCORE__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #ifndef __FILES__
27 #include <Files.h>
28 #endif
29 
30 #ifndef __ALIASES__
31 #include <Aliases.h>
32 #endif
33 
34 #ifndef __CODEFRAGMENTS__
35 #include <CodeFragments.h>
36 #endif
37 
38 #ifndef __MACERRORS__
39 #include <MacErrors.h>
40 #endif
41 
42 #ifndef __PROCESSES__
43 #include <Processes.h>
44 #endif
45 
46 #ifndef __EVENTS__
47 #include <Events.h>
48 #endif
49 
50 #if PRAGMA_ONCE
51 #pragma once
52 #endif
53 
54 #ifdef __cplusplus
55 extern "C"
56 {
57 #endif
58 
59 #if PRAGMA_IMPORT
60 #pragma import on
61 #endif
62 
63 #if PRAGMA_STRUCT_ALIGN
64 #pragma options align = mac68k
65 #elif PRAGMA_STRUCT_PACKPUSH
66 #pragma pack(push, 2)
67 #elif PRAGMA_STRUCT_PACK
68 #pragma pack(2)
69 #endif
70 
72 #ifndef __SEC_TYPES__
73 #define __SEC_TYPES__
74  typedef struct OpaqueSecKeychainRef *SecKeychainRef;
75  typedef struct OpaqueSecKeychainItemRef *SecKeychainItemRef;
76  typedef struct OpaqueSecKeychainSearchRef *SecKeychainSearchRef;
77  typedef OSType SecKeychainAttrType;
78  typedef UInt32 SecKeychainStatus;
80  {
81  SecKeychainAttrType tag;
82  UInt32 length;
83  void *data;
84  };
88  {
89  UInt32 count;
91  };
93 #endif
94 
95  typedef SecKeychainRef KCRef;
96  typedef SecKeychainItemRef KCItemRef;
97  typedef SecKeychainSearchRef KCSearchRef;
100  typedef SecKeychainAttrType KCAttrType;
101  typedef SecKeychainStatus KCStatus;
102  typedef UInt16 KCEvent;
103  enum
104  {
105  kIdleKCEvent = 0,
116  };
117 
118  typedef UInt16 KCEventMask;
119  enum
120  {
121  kIdleKCEventMask = 1 << kIdleKCEvent,
122  kLockKCEventMask = 1 << kLockKCEvent,
123  kUnlockKCEventMask = 1 << kUnlockKCEvent,
124  kAddKCEventMask = 1 << kAddKCEvent,
125  kDeleteKCEventMask = 1 << kDeleteKCEvent,
126  kUpdateKCEventMask = 1 << kUpdateKCEvent,
127  kPasswordChangedKCEventMask = 1 << kPasswordChangedKCEvent,
128  kSystemEventKCEventMask = 1 << kSystemKCEvent,
129  kDefaultChangedKCEventMask = 1 << kDefaultChangedKCEvent,
130  kDataAccessKCEventMask = 1 << kDataAccessKCEvent,
131  kEveryKCEventMask = 0xFFFF
132  };
133 
134  typedef UInt8 AFPServerSignature[16];
135  typedef UInt8 KCPublicKeyHash[20];
137  {
138  UInt32 version;
139  KCItemRef item;
140  ProcessSerialNumber processID;
142  KCRef keychain;
143  };
144  typedef struct KCCallbackInfo KCCallbackInfo;
145  enum
146  {
147  kUnlockStateKCStatus = 1,
148  kRdPermKCStatus = 2,
149  kWrPermKCStatus = 4
150  };
151 
152  enum
153  {
154  kCertificateKCItemClass = FOUR_CHAR_CODE('cert'),
156  FOUR_CHAR_CODE('ashp'),
158  FOUR_CHAR_CODE('inet'),
159  kGenericPasswordKCItemClass = FOUR_CHAR_CODE('genp')
160  };
161 
162  typedef FourCharCode KCItemClass;
163  enum
164  {
166  kClassKCItemAttr = FOUR_CHAR_CODE('clas'),
168  FOUR_CHAR_CODE('cdat'),
170  FOUR_CHAR_CODE('mdat'),
172  FOUR_CHAR_CODE('desc'),
174  FOUR_CHAR_CODE('icmt'),
175  kCreatorKCItemAttr = FOUR_CHAR_CODE('crtr'),
176  kTypeKCItemAttr = FOUR_CHAR_CODE('type'),
178  FOUR_CHAR_CODE('scrp'),
179  kLabelKCItemAttr = FOUR_CHAR_CODE('labl'),
180  kInvisibleKCItemAttr = FOUR_CHAR_CODE('invi'),
181  kNegativeKCItemAttr = FOUR_CHAR_CODE('nega'),
182  kCustomIconKCItemAttr = FOUR_CHAR_CODE('cusi'),
183  kAccountKCItemAttr = FOUR_CHAR_CODE('acct'),
185  kServiceKCItemAttr = FOUR_CHAR_CODE('svce'),
187  FOUR_CHAR_CODE('gena'),
190  FOUR_CHAR_CODE('sdmn'),
192  FOUR_CHAR_CODE('srvr'),
194  FOUR_CHAR_CODE('atyp'),
195  kPortKCItemAttr = FOUR_CHAR_CODE('port'),
196  kPathKCItemAttr = FOUR_CHAR_CODE('path'),
198  kVolumeKCItemAttr = FOUR_CHAR_CODE('vlme'),
199  kAddressKCItemAttr = FOUR_CHAR_CODE(
200  'addr'),
202  FOUR_CHAR_CODE('ssig'),
204  kProtocolKCItemAttr = FOUR_CHAR_CODE('ptcl'),
206  kSubjectKCItemAttr = FOUR_CHAR_CODE(
207  'subj'),
209  FOUR_CHAR_CODE('cn '),
210  kIssuerKCItemAttr = FOUR_CHAR_CODE(
211  'issu'),
212  kSerialNumberKCItemAttr = FOUR_CHAR_CODE(
213  'snbr'),
215  FOUR_CHAR_CODE('mail'),
216  kPublicKeyHashKCItemAttr = FOUR_CHAR_CODE(
217  'hpky'),
218  kIssuerURLKCItemAttr = FOUR_CHAR_CODE(
219  'iurl'),
221  kEncryptKCItemAttr = FOUR_CHAR_CODE('encr'),
222  kDecryptKCItemAttr = FOUR_CHAR_CODE('decr'),
223  kSignKCItemAttr = FOUR_CHAR_CODE('sign'),
224  kVerifyKCItemAttr = FOUR_CHAR_CODE('veri'),
225  kWrapKCItemAttr = FOUR_CHAR_CODE('wrap'),
226  kUnwrapKCItemAttr = FOUR_CHAR_CODE('unwr'),
227  kStartDateKCItemAttr = FOUR_CHAR_CODE('sdat'),
228  kEndDateKCItemAttr = FOUR_CHAR_CODE('edat')
229  };
230 
231  typedef FourCharCode KCItemAttr;
232  enum
233  {
234  kKCAuthTypeNTLM = FOUR_CHAR_CODE('ntlm'),
235  kKCAuthTypeMSN = FOUR_CHAR_CODE('msna'),
236  kKCAuthTypeDPA = FOUR_CHAR_CODE('dpaa'),
237  kKCAuthTypeRPA = FOUR_CHAR_CODE('rpaa'),
238  kKCAuthTypeHTTPDigest = FOUR_CHAR_CODE('httd'),
239  kKCAuthTypeDefault = FOUR_CHAR_CODE('dflt')
240  };
241 
242  typedef FourCharCode KCAuthType;
243  enum
244  {
245  kKCProtocolTypeFTP = FOUR_CHAR_CODE('ftp '),
246  kKCProtocolTypeFTPAccount = FOUR_CHAR_CODE('ftpa'),
247  kKCProtocolTypeHTTP = FOUR_CHAR_CODE('http'),
248  kKCProtocolTypeIRC = FOUR_CHAR_CODE('irc '),
249  kKCProtocolTypeNNTP = FOUR_CHAR_CODE('nntp'),
250  kKCProtocolTypePOP3 = FOUR_CHAR_CODE('pop3'),
251  kKCProtocolTypeSMTP = FOUR_CHAR_CODE('smtp'),
252  kKCProtocolTypeSOCKS = FOUR_CHAR_CODE('sox '),
253  kKCProtocolTypeIMAP = FOUR_CHAR_CODE('imap'),
254  kKCProtocolTypeLDAP = FOUR_CHAR_CODE('ldap'),
255  kKCProtocolTypeAppleTalk = FOUR_CHAR_CODE('atlk'),
256  kKCProtocolTypeAFP = FOUR_CHAR_CODE('afp '),
257  kKCProtocolTypeTelnet = FOUR_CHAR_CODE('teln')
258  };
259 
260  typedef FourCharCode KCProtocolType;
261  typedef UInt32 KCCertAddOptions;
262  enum
263  {
264  kSecOptionReserved =
265  0x000000FF,
268  kCertUsageSigningAskAndAdd = 1 << (kCertUsageShift + 1),
269  kCertUsageVerifyAdd = 1 << (kCertUsageShift + 2),
270  kCertUsageVerifyAskAndAdd = 1 << (kCertUsageShift + 3),
271  kCertUsageEncryptAdd = 1 << (kCertUsageShift + 4),
272  kCertUsageEncryptAskAndAdd = 1 << (kCertUsageShift + 5),
273  kCertUsageDecryptAdd = 1 << (kCertUsageShift + 6),
274  kCertUsageDecryptAskAndAdd = 1 << (kCertUsageShift + 7),
275  kCertUsageKeyExchAdd = 1 << (kCertUsageShift + 8),
276  kCertUsageKeyExchAskAndAdd = 1 << (kCertUsageShift + 9),
277  kCertUsageRootAdd = 1 << (kCertUsageShift + 10),
278  kCertUsageRootAskAndAdd = 1 << (kCertUsageShift + 11),
279  kCertUsageSSLAdd = 1 << (kCertUsageShift + 12),
280  kCertUsageSSLAskAndAdd = 1 << (kCertUsageShift + 13),
281  kCertUsageAllAdd = 0x7FFFFF00
282  };
283 
284  typedef UInt16 KCVerifyStopOn;
285  enum
286  {
287  kPolicyKCStopOn = 0,
288  kNoneKCStopOn = 1,
289  kFirstPassKCStopOn = 2,
290  kFirstFailKCStopOn = 3
291  };
292 
293  typedef UInt32 KCCertSearchOptions;
294  enum
295  {
296  kCertSearchShift = 0,
298  kCertSearchSigningAllowed = 1 << (kCertSearchShift + 0),
299  kCertSearchSigningDisallowed = 1 << (kCertSearchShift + 1),
300  kCertSearchSigningMask =
301  ((kCertSearchSigningAllowed) | (kCertSearchSigningDisallowed)),
302  kCertSearchVerifyIgnored = 0,
303  kCertSearchVerifyAllowed = 1 << (kCertSearchShift + 2),
304  kCertSearchVerifyDisallowed = 1 << (kCertSearchShift + 3),
305  kCertSearchVerifyMask =
306  ((kCertSearchVerifyAllowed) | (kCertSearchVerifyDisallowed)),
307  kCertSearchEncryptIgnored = 0,
308  kCertSearchEncryptAllowed = 1 << (kCertSearchShift + 4),
309  kCertSearchEncryptDisallowed = 1 << (kCertSearchShift + 5),
310  kCertSearchEncryptMask =
311  ((kCertSearchEncryptAllowed) | (kCertSearchEncryptDisallowed)),
312  kCertSearchDecryptIgnored = 0,
313  kCertSearchDecryptAllowed = 1 << (kCertSearchShift + 6),
314  kCertSearchDecryptDisallowed = 1 << (kCertSearchShift + 7),
315  kCertSearchDecryptMask =
316  ((kCertSearchDecryptAllowed) | (kCertSearchDecryptDisallowed)),
317  kCertSearchWrapIgnored = 0,
318  kCertSearchWrapAllowed = 1 << (kCertSearchShift + 8),
319  kCertSearchWrapDisallowed = 1 << (kCertSearchShift + 9),
320  kCertSearchWrapMask =
321  ((kCertSearchWrapAllowed) | (kCertSearchWrapDisallowed)),
322  kCertSearchUnwrapIgnored = 0,
323  kCertSearchUnwrapAllowed = 1 << (kCertSearchShift + 10),
324  kCertSearchUnwrapDisallowed = 1 << (kCertSearchShift + 11),
325  kCertSearchUnwrapMask =
326  ((kCertSearchUnwrapAllowed) | (kCertSearchUnwrapDisallowed)),
327  kCertSearchPrivKeyRequired = 1 << (kCertSearchShift + 12),
328  kCertSearchAny = 0
329  };
330 
332  enum
333  {
334  kAnyPort = 0
335  };
336 
337  enum
338  {
339  kAnyProtocol = 0,
340  kAnyAuthType = 0
341  };
342 
352  OSStatus
353  KCGetKeychainManagerVersion(UInt32 *returnVers);
354 
355 #if TARGET_RT_MAC_CFM
356 #ifdef __cplusplus
357  inline pascal Boolean KeychainManagerAvailable()
358  {
359  return (
360  (KCGetKeychainManagerVersion != (void *)kUnresolvedCFragSymbolAddress) &&
361  (KCGetKeychainManagerVersion(nil) != cfragNoSymbolErr));
362  }
363 #else
364 #define KeychainManagerAvailable() \
365  ((KCGetKeychainManagerVersion != (void *)kUnresolvedCFragSymbolAddress) && \
366  (KCGetKeychainManagerVersion(nil) != cfragNoSymbolErr))
367 #endif
368 #elif TARGET_RT_MAC_MACHO
370 #ifdef __cplusplus
371 inline pascal Boolean KeychainManagerAvailable() { return true; }
372 #else
373 #define KeychainManagerAvailable() (true)
374 #endif
375 #endif
386  OSStatus
388 
397  Boolean
399 
409  OSStatus
410  KCMakeKCRefFromFSSpec(FSSpec *keychainFSSpec, KCRef *keychain);
411 
420  OSStatus
421  KCMakeKCRefFromAlias(AliasHandle keychainAlias, KCRef *keychain);
422 
431  OSStatus
432  KCMakeAliasFromKCRef(KCRef keychain, AliasHandle *keychainAlias);
433 
442  OSStatus
443  KCReleaseKeychain(KCRef *keychain);
444 
454  OSStatus
455  KCGetDefaultKeychain(KCRef *keychain);
456 
465  OSStatus
466  KCSetDefaultKeychain(KCRef keychain);
467 
477  OSStatus
478  KCGetStatus(KCRef keychain,
479  UInt32 *keychainStatus);
480 
489  OSStatus
490  KCGetKeychain(KCItemRef item, KCRef *keychain);
491 
500  OSStatus
501  KCGetKeychainName(KCRef keychain, StringPtr keychainName);
502 
512  UInt16
514 
523  OSStatus
524  KCGetIndKeychain(UInt16 index, KCRef *keychain);
525 
526  typedef CALLBACK_API(OSStatus, KCCallbackProcPtr)(KCEvent keychainEvent,
527  KCCallbackInfo *info,
528  void *userContext);
529  typedef STACK_UPP_TYPE(KCCallbackProcPtr) KCCallbackUPP;
538  KCCallbackUPP
539  NewKCCallbackUPP(KCCallbackProcPtr userRoutine);
540 #if !OPAQUE_UPP_TYPES
541  enum
542  {
543  uppKCCallbackProcInfo = 0x00000FB0
544  };
545 #ifdef __cplusplus
546  inline KCCallbackUPP NewKCCallbackUPP(KCCallbackProcPtr userRoutine)
547  {
548  return (KCCallbackUPP)NewRoutineDescriptor(
549  (ProcPtr)(userRoutine), uppKCCallbackProcInfo, GetCurrentArchitecture());
550  }
551 #else
552 #define NewKCCallbackUPP(userRoutine) \
553  (KCCallbackUPP) NewRoutineDescriptor( \
554  (ProcPtr)(userRoutine), uppKCCallbackProcInfo, GetCurrentArchitecture())
555 #endif
556 #endif
557 
566  void
567  DisposeKCCallbackUPP(KCCallbackUPP userUPP);
568 #if !OPAQUE_UPP_TYPES
569 #ifdef __cplusplus
570  inline void DisposeKCCallbackUPP(KCCallbackUPP userUPP)
571  {
572  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
573  }
574 #else
575 #define DisposeKCCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
576 #endif
577 #endif
578 
587  OSStatus
588  InvokeKCCallbackUPP(KCEvent keychainEvent, KCCallbackInfo *info,
589  void *userContext, KCCallbackUPP userUPP);
590 #if !OPAQUE_UPP_TYPES
591 #ifdef __cplusplus
592  inline OSStatus InvokeKCCallbackUPP(KCEvent keychainEvent, KCCallbackInfo *info,
593  void *userContext, KCCallbackUPP userUPP)
594  {
595  return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppKCCallbackProcInfo,
596  keychainEvent, info, userContext);
597  }
598 #else
599 #define InvokeKCCallbackUPP(keychainEvent, info, userContext, userUPP) \
600  (OSStatus) CALL_THREE_PARAMETER_UPP((userUPP), uppKCCallbackProcInfo, \
601  (keychainEvent), (info), (userContext))
602 #endif
603 #endif
604 
605 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
607 #define NewKCCallbackProc(userRoutine) NewKCCallbackUPP(userRoutine)
608 #define CallKCCallbackProc(userRoutine, keychainEvent, info, userContext) \
609  InvokeKCCallbackUPP(keychainEvent, info, userContext, userRoutine)
610 #endif
621  OSStatus
622  KCAddCallback(KCCallbackUPP callbackProc, KCEventMask eventMask,
623  void *userContext);
624 
633  OSStatus
634  KCRemoveCallback(KCCallbackUPP callbackProc);
635 
645  OSStatus
646  KCNewItem(KCItemClass itemClass, OSType itemCreator, UInt32 length,
647  const void *data, KCItemRef *item);
648 
657  OSStatus
658  KCSetAttribute(KCItemRef item, KCAttribute *attr);
659 
668  OSStatus
669  KCGetAttribute(KCItemRef item, KCAttribute *attr, UInt32 *actualLength);
670 
679  OSStatus
680  KCSetData(KCItemRef item, UInt32 length, const void *data);
681 
691  OSStatus
692  KCUpdateItem(KCItemRef item);
693 
702  OSStatus
703  KCReleaseItem(KCItemRef *item);
704 
713  OSStatus
714  KCCopyItem(KCItemRef item, KCRef destKeychain, KCItemRef *copy);
715 
725  OSStatus
726  KCFindFirstItem(KCRef keychain,
727  const KCAttributeList *attrList,
728  KCSearchRef *search, KCItemRef *item);
729 
738  OSStatus
739  KCFindNextItem(KCSearchRef search, KCItemRef *item);
740 
749  OSStatus
750  KCReleaseSearch(KCSearchRef *search);
751 
761  OSStatus
762  kcgetkeychainname(KCRef keychain, char *keychainName);
763 
773  OSStatus
774  KCDeleteItem(KCItemRef item);
775 
784  OSStatus
785  KCGetData(KCItemRef item, UInt32 maxLength, void *data, UInt32 *actualLength);
786 
796  OSStatus
797  KCAddAppleSharePassword(AFPServerSignature *serverSignature,
798  StringPtr serverAddress, StringPtr serverName,
799  StringPtr volumeName, StringPtr accountName,
800  UInt32 passwordLength, const void *passwordData,
801  KCItemRef *item);
811  OSStatus
812  KCFindAppleSharePassword(AFPServerSignature *serverSignature,
813  StringPtr serverAddress,
814  StringPtr serverName,
815  StringPtr volumeName,
816  StringPtr accountName,
817  UInt32 maxLength, void *passwordData,
818  UInt32 *actualLength,
819  KCItemRef *item);
830  OSStatus
831  KCAddInternetPassword(StringPtr serverName, StringPtr securityDomain,
832  StringPtr accountName, UInt16 port, OSType protocol,
833  OSType authType, UInt32 passwordLength,
834  const void *passwordData,
835  KCItemRef *item);
845  OSStatus
847  StringPtr accountName, StringPtr path,
848  UInt16 port, OSType protocol, OSType authType,
849  UInt32 passwordLength, const void *passwordData,
850  KCItemRef *item);
860  OSStatus
862  StringPtr securityDomain,
863  StringPtr accountName,
864  UInt16 port, OSType protocol, OSType authType,
865  UInt32 maxLength, void *passwordData,
866  UInt32 *actualLength,
867  KCItemRef *item);
877  OSStatus
879  StringPtr securityDomain,
880  StringPtr accountName,
881  StringPtr path,
882  UInt16 port, OSType protocol, OSType authType,
883  UInt32 maxLength, void *passwordData,
884  UInt32 *actualLength,
885  KCItemRef *item);
896  OSStatus
897  KCAddGenericPassword(StringPtr serviceName, StringPtr accountName,
898  UInt32 passwordLength, const void *passwordData,
899  KCItemRef *item);
909  OSStatus
911  StringPtr accountName,
912  UInt32 maxLength, void *passwordData,
913  UInt32 *actualLength, KCItemRef *item);
923  OSStatus
924  KCLock(KCRef keychain);
925 
935  OSStatus
936  kcaddapplesharepassword(AFPServerSignature *serverSignature,
937  const char *serverAddress, const char *serverName,
938  const char *volumeName, const char *accountName,
939  UInt32 passwordLength, const void *passwordData,
940  KCItemRef *item);
950  OSStatus
951  kcfindapplesharepassword(AFPServerSignature *serverSignature,
952  const char *serverAddress,
953  const char *serverName,
954  const char *volumeName,
955  const char *accountName,
956  UInt32 maxLength, void *passwordData,
957  UInt32 *actualLength,
958  KCItemRef *item);
968  OSStatus
969  kcaddinternetpassword(const char *serverName, const char *securityDomain,
970  const char *accountName, UInt16 port, OSType protocol,
971  OSType authType, UInt32 passwordLength,
972  const void *passwordData,
973  KCItemRef *item);
983  OSStatus
984  kcaddinternetpasswordwithpath(const char *serverName,
985  const char *securityDomain,
986  const char *accountName, const char *path,
987  UInt16 port, OSType protocol, OSType authType,
988  UInt32 passwordLength, const void *passwordData,
989  KCItemRef *item);
999  OSStatus
1000  kcfindinternetpassword(const char *serverName,
1001  const char *securityDomain,
1002  const char *accountName,
1003  UInt16 port, OSType protocol, OSType authType,
1004  UInt32 maxLength, void *passwordData,
1005  UInt32 *actualLength,
1006  KCItemRef *item);
1016  OSStatus
1017  kcfindinternetpasswordwithpath(const char *serverName,
1018  const char *securityDomain,
1019  const char *accountName,
1020  const char *path,
1021  UInt16 port, OSType protocol, OSType authType,
1022  UInt32 maxLength, void *passwordData,
1023  UInt32 *actualLength,
1024  KCItemRef *item);
1034  OSStatus
1035  kcaddgenericpassword(const char *serviceName, const char *accountName,
1036  UInt32 passwordLength, const void *passwordData,
1037  KCItemRef *item);
1047  OSStatus
1048  kcfindgenericpassword(const char *serviceName,
1049  const char *accountName,
1050  UInt32 maxLength, void *passwordData,
1051  UInt32 *actualLength, KCItemRef *item);
1053 #if PRAGMA_STRUCT_ALIGN
1054 #pragma options align = reset
1055 #elif PRAGMA_STRUCT_PACKPUSH
1056 #pragma pack(pop)
1057 #elif PRAGMA_STRUCT_PACK
1058 #pragma pack()
1059 #endif
1060 
1061 #ifdef PRAGMA_IMPORT_OFF
1062 #pragma import off
1063 #elif PRAGMA_IMPORT
1064 #pragma import reset
1065 #endif
1066 
1067 #ifdef __cplusplus
1068 }
1069 #endif
1070 
1071 #endif
Alias Manager Interfaces.
Public Code Fragment Manager Interfaces.
Event Manager Interfaces.
File Manager (MFS, HFS, and HFS+) Interfaces.
OSStatus KCFindInternetPassword(StringPtr serverName, StringPtr securityDomain, StringPtr accountName, UInt16 port, OSType protocol, OSType authType, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
OSStatus KCGetStatus(KCRef keychain, UInt32 *keychainStatus)
OSStatus kcfindinternetpasswordwithpath(const char *serverName, const char *securityDomain, const char *accountName, const char *path, UInt16 port, OSType protocol, OSType authType, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
@ kDescriptionKCItemAttr
Definition: KeychainCore.h:171
@ kPublicKeyHashKCItemAttr
Definition: KeychainCore.h:216
@ kClassKCItemAttr
Definition: KeychainCore.h:166
@ kWrapKCItemAttr
Definition: KeychainCore.h:225
@ kCreatorKCItemAttr
Definition: KeychainCore.h:175
@ kCommentKCItemAttr
Definition: KeychainCore.h:173
@ kModDateKCItemAttr
Definition: KeychainCore.h:169
@ kProtocolKCItemAttr
Definition: KeychainCore.h:204
@ kCreationDateKCItemAttr
Definition: KeychainCore.h:167
@ kAccountKCItemAttr
Definition: KeychainCore.h:183
@ kEncryptKCItemAttr
Definition: KeychainCore.h:221
@ kCustomIconKCItemAttr
Definition: KeychainCore.h:182
@ kServerKCItemAttr
Definition: KeychainCore.h:191
@ kUnwrapKCItemAttr
Definition: KeychainCore.h:226
@ kEMailKCItemAttr
Definition: KeychainCore.h:214
@ kGenericKCItemAttr
Definition: KeychainCore.h:186
@ kSignKCItemAttr
Definition: KeychainCore.h:223
@ kDecryptKCItemAttr
Definition: KeychainCore.h:222
@ kIssuerURLKCItemAttr
Definition: KeychainCore.h:218
@ kSubjectKCItemAttr
Definition: KeychainCore.h:206
@ kServiceKCItemAttr
Definition: KeychainCore.h:185
@ kNegativeKCItemAttr
Definition: KeychainCore.h:181
@ kSecurityDomainKCItemAttr
Definition: KeychainCore.h:189
@ kIssuerKCItemAttr
Definition: KeychainCore.h:210
@ kPortKCItemAttr
Definition: KeychainCore.h:195
@ kInvisibleKCItemAttr
Definition: KeychainCore.h:180
@ kSignatureKCItemAttr
Definition: KeychainCore.h:201
@ kCommonNameKCItemAttr
Definition: KeychainCore.h:208
@ kScriptCodeKCItemAttr
Definition: KeychainCore.h:177
@ kPathKCItemAttr
Definition: KeychainCore.h:196
@ kEndDateKCItemAttr
Definition: KeychainCore.h:228
@ kAddressKCItemAttr
Definition: KeychainCore.h:199
@ kSerialNumberKCItemAttr
Definition: KeychainCore.h:212
@ kVerifyKCItemAttr
Definition: KeychainCore.h:224
@ kStartDateKCItemAttr
Definition: KeychainCore.h:227
@ kTypeKCItemAttr
Definition: KeychainCore.h:176
@ kLabelKCItemAttr
Definition: KeychainCore.h:179
@ kVolumeKCItemAttr
Definition: KeychainCore.h:198
@ kAuthTypeKCItemAttr
Definition: KeychainCore.h:193
OSStatus KCFindNextItem(KCSearchRef search, KCItemRef *item)
OSStatus KCCopyItem(KCItemRef item, KCRef destKeychain, KCItemRef *copy)
OSStatus KCFindFirstItem(KCRef keychain, const KCAttributeList *attrList, KCSearchRef *search, KCItemRef *item)
#define NewKCCallbackUPP(userRoutine)
Definition: KeychainCore.h:552
OSStatus kcfindgenericpassword(const char *serviceName, const char *accountName, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
OSStatus KCSetAttribute(KCItemRef item, KCAttribute *attr)
OSStatus KCGetIndKeychain(UInt16 index, KCRef *keychain)
OSStatus KCAddGenericPassword(StringPtr serviceName, StringPtr accountName, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
OSStatus KCMakeAliasFromKCRef(KCRef keychain, AliasHandle *keychainAlias)
@ kCertSearchSigningIgnored
Definition: KeychainCore.h:297
OSStatus kcaddinternetpasswordwithpath(const char *serverName, const char *securityDomain, const char *accountName, const char *path, UInt16 port, OSType protocol, OSType authType, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
OSStatus KCAddInternetPasswordWithPath(StringPtr serverName, StringPtr securityDomain, StringPtr accountName, StringPtr path, UInt16 port, OSType protocol, OSType authType, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
OSStatus KCMakeKCRefFromFSSpec(FSSpec *keychainFSSpec, KCRef *keychain)
OSStatus KCFindAppleSharePassword(AFPServerSignature *serverSignature, StringPtr serverAddress, StringPtr serverName, StringPtr volumeName, StringPtr accountName, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
OSStatus KCReleaseItem(KCItemRef *item)
@ kAppleSharePasswordKCItemClass
Definition: KeychainCore.h:155
@ kGenericPasswordKCItemClass
Definition: KeychainCore.h:159
@ kInternetPasswordKCItemClass
Definition: KeychainCore.h:157
OSStatus KCLock(KCRef keychain)
OSStatus KCGetKeychainManagerVersion(UInt32 *returnVers)
@ kCertUsageShift
Definition: KeychainCore.h:266
@ kCertUsageSigningAdd
Definition: KeychainCore.h:267
OSStatus kcfindinternetpassword(const char *serverName, const char *securityDomain, const char *accountName, UInt16 port, OSType protocol, OSType authType, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
OSStatus kcfindapplesharepassword(AFPServerSignature *serverSignature, const char *serverAddress, const char *serverName, const char *volumeName, const char *accountName, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
OSStatus InvokeKCCallbackUPP(KCEvent keychainEvent, KCCallbackInfo *info, void *userContext, KCCallbackUPP userUPP)
OSStatus KCGetKeychain(KCItemRef item, KCRef *keychain)
OSStatus KCGetData(KCItemRef item, UInt32 maxLength, void *data, UInt32 *actualLength)
OSStatus KCGetAttribute(KCItemRef item, KCAttribute *attr, UInt32 *actualLength)
void DisposeKCCallbackUPP(KCCallbackUPP userUPP)
OSStatus kcaddgenericpassword(const char *serviceName, const char *accountName, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
OSStatus kcgetkeychainname(KCRef keychain, char *keychainName)
OSStatus KCSetData(KCItemRef item, UInt32 length, const void *data)
OSStatus KCFindInternetPasswordWithPath(StringPtr serverName, StringPtr securityDomain, StringPtr accountName, StringPtr path, UInt16 port, OSType protocol, OSType authType, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
OSStatus KCGetKeychainName(KCRef keychain, StringPtr keychainName)
OSStatus KCMakeKCRefFromAlias(AliasHandle keychainAlias, KCRef *keychain)
OSStatus KCAddAppleSharePassword(AFPServerSignature *serverSignature, StringPtr serverAddress, StringPtr serverName, StringPtr volumeName, StringPtr accountName, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
OSStatus KCSetInteractionAllowed(Boolean state)
OSStatus KCGetDefaultKeychain(KCRef *keychain)
OSStatus KCNewItem(KCItemClass itemClass, OSType itemCreator, UInt32 length, const void *data, KCItemRef *item)
OSStatus kcaddinternetpassword(const char *serverName, const char *securityDomain, const char *accountName, UInt16 port, OSType protocol, OSType authType, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
OSStatus kcaddapplesharepassword(AFPServerSignature *serverSignature, const char *serverAddress, const char *serverName, const char *volumeName, const char *accountName, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
UInt16 KCCountKeychains(void)
@ kAddKCEvent
Definition: KeychainCore.h:108
@ kDefaultChangedKCEvent
Definition: KeychainCore.h:113
@ kDeleteKCEvent
Definition: KeychainCore.h:109
@ kPasswordChangedKCEvent
Definition: KeychainCore.h:111
@ kLockKCEvent
Definition: KeychainCore.h:106
@ kUpdateKCEvent
Definition: KeychainCore.h:110
@ kKeychainListChangedKCEvent
Definition: KeychainCore.h:115
@ kSystemKCEvent
Definition: KeychainCore.h:112
@ kUnlockKCEvent
Definition: KeychainCore.h:107
@ kDataAccessKCEvent
Definition: KeychainCore.h:114
OSStatus KCReleaseSearch(KCSearchRef *search)
OSStatus KCSetDefaultKeychain(KCRef keychain)
OSStatus KCReleaseKeychain(KCRef *keychain)
OSStatus KCUpdateItem(KCItemRef item)
OSStatus KCDeleteItem(KCItemRef item)
OSStatus KCFindGenericPassword(StringPtr serviceName, StringPtr accountName, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
OSStatus KCAddCallback(KCCallbackUPP callbackProc, KCEventMask eventMask, void *userContext)
OSStatus KCAddInternetPassword(StringPtr serverName, StringPtr securityDomain, StringPtr accountName, UInt16 port, OSType protocol, OSType authType, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
Boolean KCIsInteractionAllowed(void)
OSStatus KCRemoveCallback(KCCallbackUPP callbackProc)
OSErr codes.
Basic Macintosh data types.
unsigned char * StringPtr
Definition: MacTypes.h:477
unsigned char Boolean
Definition: MacTypes.h:318
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
Process Manager Interfaces.
Definition: Aliases.h:87
Definition: Events.h:224
Definition: KeychainCore.h:137
Definition: PPCToolbox.h:168
Definition: Processes.h:65
Definition: KeychainCore.h:88
SecKeychainAttribute * attr
Definition: KeychainCore.h:90
Definition: KeychainCore.h:80
void * data
Definition: KeychainCore.h:83
UInt32 length
Definition: KeychainCore.h:82