Mac OS 9
KeychainCore.h File Reference

Keychain low-level Interfaces. More...

#include <MacTypes.h>
#include <Files.h>
#include <Aliases.h>
#include <CodeFragments.h>
#include <MacErrors.h>
#include <Processes.h>
#include <Events.h>

Go to the source code of this file.

Data Structures

struct  SecKeychainAttribute
 
struct  SecKeychainAttributeList
 
struct  KCCallbackInfo
 

Macros

#define __SEC_TYPES__
 
#define NewKCCallbackUPP(userRoutine)
 
#define DisposeKCCallbackUPP(userUPP)   DisposeRoutineDescriptor(userUPP)
 
#define InvokeKCCallbackUPP(keychainEvent, info, userContext, userUPP)
 
#define NewKCCallbackProc(userRoutine)   NewKCCallbackUPP(userRoutine)
 
#define CallKCCallbackProc(userRoutine, keychainEvent, info, userContext)    InvokeKCCallbackUPP(keychainEvent, info, userContext, userRoutine)
 

Typedefs

typedef struct OpaqueSecKeychainRef * SecKeychainRef
 
typedef struct OpaqueSecKeychainItemRef * SecKeychainItemRef
 
typedef struct OpaqueSecKeychainSearchRef * SecKeychainSearchRef
 
typedef OSType SecKeychainAttrType
 
typedef UInt32 SecKeychainStatus
 
typedef struct SecKeychainAttribute SecKeychainAttribute
 
typedef SecKeychainAttributeSecKeychainAttributePtr
 
typedef struct SecKeychainAttributeList SecKeychainAttributeList
 
typedef SecKeychainRef KCRef
 
typedef SecKeychainItemRef KCItemRef
 
typedef SecKeychainSearchRef KCSearchRef
 
typedef SecKeychainAttribute KCAttribute
 
typedef SecKeychainAttributeList KCAttributeList
 
typedef SecKeychainAttrType KCAttrType
 
typedef SecKeychainStatus KCStatus
 
typedef UInt16 KCEvent
 
typedef UInt16 KCEventMask
 
typedef UInt8 AFPServerSignature[16]
 
typedef UInt8 KCPublicKeyHash[20]
 
typedef struct KCCallbackInfo KCCallbackInfo
 
typedef FourCharCode KCItemClass
 
typedef FourCharCode KCItemAttr
 
typedef FourCharCode KCAuthType
 
typedef FourCharCode KCProtocolType
 
typedef UInt32 KCCertAddOptions
 
typedef UInt16 KCVerifyStopOn
 
typedef UInt32 KCCertSearchOptions
 
typedef KCCallbackInfoinfo
 
typedef KCCallbackInfo void * userContext
 

Enumerations

enum  {
  kIdleKCEvent = 0 , kLockKCEvent = 1 , kUnlockKCEvent = 2 , kAddKCEvent = 3 ,
  kDeleteKCEvent = 4 , kUpdateKCEvent = 5 , kPasswordChangedKCEvent = 6 , kSystemKCEvent = 8 ,
  kDefaultChangedKCEvent = 9 , kDataAccessKCEvent = 10 , kKeychainListChangedKCEvent = 11
}
 
enum  {
  kIdleKCEventMask = 1 << kIdleKCEvent , kLockKCEventMask = 1 << kLockKCEvent , kUnlockKCEventMask = 1 << kUnlockKCEvent , kAddKCEventMask = 1 << kAddKCEvent ,
  kDeleteKCEventMask = 1 << kDeleteKCEvent , kUpdateKCEventMask = 1 << kUpdateKCEvent , kPasswordChangedKCEventMask = 1 << kPasswordChangedKCEvent , kSystemEventKCEventMask = 1 << kSystemKCEvent ,
  kDefaultChangedKCEventMask = 1 << kDefaultChangedKCEvent , kDataAccessKCEventMask = 1 << kDataAccessKCEvent , kEveryKCEventMask = 0xFFFF
}
 
enum  { kUnlockStateKCStatus = 1 , kRdPermKCStatus = 2 , kWrPermKCStatus = 4 }
 
enum  { kCertificateKCItemClass = FOUR_CHAR_CODE('cert') , kAppleSharePasswordKCItemClass , kInternetPasswordKCItemClass , kGenericPasswordKCItemClass = FOUR_CHAR_CODE('genp') }
 
enum  {
  kClassKCItemAttr = FOUR_CHAR_CODE('clas') , kCreationDateKCItemAttr , kModDateKCItemAttr , kDescriptionKCItemAttr ,
  kCommentKCItemAttr , kCreatorKCItemAttr = FOUR_CHAR_CODE('crtr') , kTypeKCItemAttr = FOUR_CHAR_CODE('type') , kScriptCodeKCItemAttr ,
  kLabelKCItemAttr = FOUR_CHAR_CODE('labl') , kInvisibleKCItemAttr = FOUR_CHAR_CODE('invi') , kNegativeKCItemAttr = FOUR_CHAR_CODE('nega') , kCustomIconKCItemAttr = FOUR_CHAR_CODE('cusi') ,
  kAccountKCItemAttr = FOUR_CHAR_CODE('acct') , kServiceKCItemAttr = FOUR_CHAR_CODE('svce') , kGenericKCItemAttr , kSecurityDomainKCItemAttr ,
  kServerKCItemAttr , kAuthTypeKCItemAttr , kPortKCItemAttr = FOUR_CHAR_CODE('port') , kPathKCItemAttr = FOUR_CHAR_CODE('path') ,
  kVolumeKCItemAttr = FOUR_CHAR_CODE('vlme') , kAddressKCItemAttr , kSignatureKCItemAttr , kProtocolKCItemAttr = FOUR_CHAR_CODE('ptcl') ,
  kSubjectKCItemAttr , kCommonNameKCItemAttr , kIssuerKCItemAttr , kSerialNumberKCItemAttr ,
  kEMailKCItemAttr , kPublicKeyHashKCItemAttr , kIssuerURLKCItemAttr , kEncryptKCItemAttr = FOUR_CHAR_CODE('encr') ,
  kDecryptKCItemAttr = FOUR_CHAR_CODE('decr') , kSignKCItemAttr = FOUR_CHAR_CODE('sign') , kVerifyKCItemAttr = FOUR_CHAR_CODE('veri') , kWrapKCItemAttr = FOUR_CHAR_CODE('wrap') ,
  kUnwrapKCItemAttr = FOUR_CHAR_CODE('unwr') , kStartDateKCItemAttr = FOUR_CHAR_CODE('sdat') , kEndDateKCItemAttr = FOUR_CHAR_CODE('edat')
}
 
enum  {
  kKCAuthTypeNTLM = FOUR_CHAR_CODE('ntlm') , kKCAuthTypeMSN = FOUR_CHAR_CODE('msna') , kKCAuthTypeDPA = FOUR_CHAR_CODE('dpaa') , kKCAuthTypeRPA = FOUR_CHAR_CODE('rpaa') ,
  kKCAuthTypeHTTPDigest = FOUR_CHAR_CODE('httd') , kKCAuthTypeDefault = FOUR_CHAR_CODE('dflt')
}
 
enum  {
  kKCProtocolTypeFTP = FOUR_CHAR_CODE('ftp ') , kKCProtocolTypeFTPAccount = FOUR_CHAR_CODE('ftpa') , kKCProtocolTypeHTTP = FOUR_CHAR_CODE('http') , kKCProtocolTypeIRC = FOUR_CHAR_CODE('irc ') ,
  kKCProtocolTypeNNTP = FOUR_CHAR_CODE('nntp') , kKCProtocolTypePOP3 = FOUR_CHAR_CODE('pop3') , kKCProtocolTypeSMTP = FOUR_CHAR_CODE('smtp') , kKCProtocolTypeSOCKS = FOUR_CHAR_CODE('sox ') ,
  kKCProtocolTypeIMAP = FOUR_CHAR_CODE('imap') , kKCProtocolTypeLDAP = FOUR_CHAR_CODE('ldap') , kKCProtocolTypeAppleTalk = FOUR_CHAR_CODE('atlk') , kKCProtocolTypeAFP = FOUR_CHAR_CODE('afp ') ,
  kKCProtocolTypeTelnet = FOUR_CHAR_CODE('teln')
}
 
enum  {
  kSecOptionReserved , kCertUsageShift = 8 , kCertUsageSigningAdd = 1 << (kCertUsageShift + 0) , kCertUsageSigningAskAndAdd = 1 << (kCertUsageShift + 1) ,
  kCertUsageVerifyAdd = 1 << (kCertUsageShift + 2) , kCertUsageVerifyAskAndAdd = 1 << (kCertUsageShift + 3) , kCertUsageEncryptAdd = 1 << (kCertUsageShift + 4) , kCertUsageEncryptAskAndAdd = 1 << (kCertUsageShift + 5) ,
  kCertUsageDecryptAdd = 1 << (kCertUsageShift + 6) , kCertUsageDecryptAskAndAdd = 1 << (kCertUsageShift + 7) , kCertUsageKeyExchAdd = 1 << (kCertUsageShift + 8) , kCertUsageKeyExchAskAndAdd = 1 << (kCertUsageShift + 9) ,
  kCertUsageRootAdd = 1 << (kCertUsageShift + 10) , kCertUsageRootAskAndAdd = 1 << (kCertUsageShift + 11) , kCertUsageSSLAdd = 1 << (kCertUsageShift + 12) , kCertUsageSSLAskAndAdd = 1 << (kCertUsageShift + 13) ,
  kCertUsageAllAdd = 0x7FFFFF00
}
 
enum  { kPolicyKCStopOn = 0 , kNoneKCStopOn = 1 , kFirstPassKCStopOn = 2 , kFirstFailKCStopOn = 3 }
 
enum  {
  kCertSearchShift = 0 , kCertSearchSigningIgnored = 0 , kCertSearchSigningAllowed = 1 << (kCertSearchShift + 0) , kCertSearchSigningDisallowed = 1 << (kCertSearchShift + 1) ,
  kCertSearchSigningMask , kCertSearchVerifyIgnored = 0 , kCertSearchVerifyAllowed = 1 << (kCertSearchShift + 2) , kCertSearchVerifyDisallowed = 1 << (kCertSearchShift + 3) ,
  kCertSearchVerifyMask , kCertSearchEncryptIgnored = 0 , kCertSearchEncryptAllowed = 1 << (kCertSearchShift + 4) , kCertSearchEncryptDisallowed = 1 << (kCertSearchShift + 5) ,
  kCertSearchEncryptMask , kCertSearchDecryptIgnored = 0 , kCertSearchDecryptAllowed = 1 << (kCertSearchShift + 6) , kCertSearchDecryptDisallowed = 1 << (kCertSearchShift + 7) ,
  kCertSearchDecryptMask , kCertSearchWrapIgnored = 0 , kCertSearchWrapAllowed = 1 << (kCertSearchShift + 8) , kCertSearchWrapDisallowed = 1 << (kCertSearchShift + 9) ,
  kCertSearchWrapMask , kCertSearchUnwrapIgnored = 0 , kCertSearchUnwrapAllowed = 1 << (kCertSearchShift + 10) , kCertSearchUnwrapDisallowed = 1 << (kCertSearchShift + 11) ,
  kCertSearchUnwrapMask , kCertSearchPrivKeyRequired = 1 << (kCertSearchShift + 12) , kCertSearchAny = 0
}
 
enum  { kAnyPort = 0 }
 
enum  { kAnyProtocol = 0 , kAnyAuthType = 0 }
 
enum  { uppKCCallbackProcInfo = 0x00000FB0 }
 

Functions

OSStatus KCGetKeychainManagerVersion (UInt32 *returnVers)
 
OSStatus KCSetInteractionAllowed (Boolean state)
 
Boolean KCIsInteractionAllowed (void)
 
OSStatus KCMakeKCRefFromFSSpec (FSSpec *keychainFSSpec, KCRef *keychain)
 
OSStatus KCMakeKCRefFromAlias (AliasHandle keychainAlias, KCRef *keychain)
 
OSStatus KCMakeAliasFromKCRef (KCRef keychain, AliasHandle *keychainAlias)
 
OSStatus KCReleaseKeychain (KCRef *keychain)
 
OSStatus KCGetDefaultKeychain (KCRef *keychain)
 
OSStatus KCSetDefaultKeychain (KCRef keychain)
 
OSStatus KCGetStatus (KCRef keychain, UInt32 *keychainStatus)
 
OSStatus KCGetKeychain (KCItemRef item, KCRef *keychain)
 
OSStatus KCGetKeychainName (KCRef keychain, StringPtr keychainName)
 
UInt16 KCCountKeychains (void)
 
OSStatus KCGetIndKeychain (UInt16 index, KCRef *keychain)
 
typedef CALLBACK_API (OSStatus, KCCallbackProcPtr)(KCEvent keychainEvent
 
typedef STACK_UPP_TYPE (KCCallbackProcPtr) KCCallbackUPP
 
KCCallbackUPP NewKCCallbackUPP (KCCallbackProcPtr userRoutine)
 
void DisposeKCCallbackUPP (KCCallbackUPP userUPP)
 
OSStatus InvokeKCCallbackUPP (KCEvent keychainEvent, KCCallbackInfo *info, void *userContext, KCCallbackUPP userUPP)
 
OSStatus KCAddCallback (KCCallbackUPP callbackProc, KCEventMask eventMask, void *userContext)
 
OSStatus KCRemoveCallback (KCCallbackUPP callbackProc)
 
OSStatus KCNewItem (KCItemClass itemClass, OSType itemCreator, UInt32 length, const void *data, KCItemRef *item)
 
OSStatus KCSetAttribute (KCItemRef item, KCAttribute *attr)
 
OSStatus KCGetAttribute (KCItemRef item, KCAttribute *attr, UInt32 *actualLength)
 
OSStatus KCSetData (KCItemRef item, UInt32 length, const void *data)
 
OSStatus KCUpdateItem (KCItemRef item)
 
OSStatus KCReleaseItem (KCItemRef *item)
 
OSStatus KCCopyItem (KCItemRef item, KCRef destKeychain, KCItemRef *copy)
 
OSStatus KCFindFirstItem (KCRef keychain, const KCAttributeList *attrList, KCSearchRef *search, KCItemRef *item)
 
OSStatus KCFindNextItem (KCSearchRef search, KCItemRef *item)
 
OSStatus KCReleaseSearch (KCSearchRef *search)
 
OSStatus kcgetkeychainname (KCRef keychain, char *keychainName)
 
OSStatus KCDeleteItem (KCItemRef item)
 
OSStatus KCGetData (KCItemRef item, UInt32 maxLength, void *data, UInt32 *actualLength)
 
OSStatus KCAddAppleSharePassword (AFPServerSignature *serverSignature, StringPtr serverAddress, StringPtr serverName, StringPtr volumeName, StringPtr accountName, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
 
OSStatus KCFindAppleSharePassword (AFPServerSignature *serverSignature, StringPtr serverAddress, StringPtr serverName, StringPtr volumeName, StringPtr accountName, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
 
OSStatus KCAddInternetPassword (StringPtr serverName, StringPtr securityDomain, StringPtr accountName, 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 KCFindInternetPassword (StringPtr serverName, StringPtr securityDomain, StringPtr accountName, UInt16 port, OSType protocol, OSType authType, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
 
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 KCAddGenericPassword (StringPtr serviceName, StringPtr accountName, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
 
OSStatus KCFindGenericPassword (StringPtr serviceName, StringPtr accountName, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
 
OSStatus KCLock (KCRef keychain)
 
OSStatus kcaddapplesharepassword (AFPServerSignature *serverSignature, const char *serverAddress, const char *serverName, const char *volumeName, const char *accountName, UInt32 passwordLength, const void *passwordData, 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 kcaddinternetpassword (const char *serverName, const char *securityDomain, const char *accountName, UInt16 port, OSType protocol, OSType authType, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
 
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 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 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)
 
OSStatus kcaddgenericpassword (const char *serviceName, const char *accountName, UInt32 passwordLength, const void *passwordData, KCItemRef *item)
 
OSStatus kcfindgenericpassword (const char *serviceName, const char *accountName, UInt32 maxLength, void *passwordData, UInt32 *actualLength, KCItemRef *item)
 

Detailed Description

Keychain low-level Interfaces.

Introduced In: Keychain 3.0
Avaliable From: Universal Interfaces 3.4.1
Copyright: © 2000-2001 by Apple Computer, Inc., all rights reserved

For bug reports, consult the following page on the World Wide Web:

http://developer.apple.com/bugreporter/

Macro Definition Documentation

◆ __SEC_TYPES__

#define __SEC_TYPES__

Data structures and types

◆ InvokeKCCallbackUPP

#define InvokeKCCallbackUPP (   keychainEvent,
  info,
  userContext,
  userUPP 
)
Value:
(OSStatus) CALL_THREE_PARAMETER_UPP((userUPP), uppKCCallbackProcInfo, \
(keychainEvent), (info), (userContext))

◆ NewKCCallbackProc

#define NewKCCallbackProc (   userRoutine)    NewKCCallbackUPP(userRoutine)

support for pre-Carbon UPP routines: New...Proc and Call...Proc

◆ NewKCCallbackUPP

#define NewKCCallbackUPP (   userRoutine)
Value:
(KCCallbackUPP) NewRoutineDescriptor( \
(ProcPtr)(userRoutine), uppKCCallbackProcInfo, GetCurrentArchitecture())
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)

pascal 4_bytes Func(2_bytes, 4_bytes, 4_bytes)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
kLockKCEvent 

null event

kUnlockKCEvent 

a keychain was locked

kAddKCEvent 

a keychain was unlocked

kDeleteKCEvent 

an item was added to a keychain

kUpdateKCEvent 

an item was deleted from a keychain

kPasswordChangedKCEvent 

an item was updated

kSystemKCEvent 

the keychain identity was changed

kDefaultChangedKCEvent 

the keychain client can process events

kDataAccessKCEvent 

the default keychain was changed

kKeychainListChangedKCEvent 

a process has accessed a keychain item's data

◆ anonymous enum

anonymous enum
Enumerator
kAppleSharePasswordKCItemClass 

Certificate

kInternetPasswordKCItemClass 

Appleshare password

kGenericPasswordKCItemClass 

Internet password

◆ anonymous enum

anonymous enum
Enumerator
kClassKCItemAttr 

Common attributes

kCreationDateKCItemAttr 

Item class (KCItemClass)

kModDateKCItemAttr 

Date the item was created (UInt32)

kDescriptionKCItemAttr 

Last time the item was updated (UInt32)

kCommentKCItemAttr 

User-visible description string (string)

kCreatorKCItemAttr 

User's comment about the item (string)

kTypeKCItemAttr 

Item's creator (OSType)

kScriptCodeKCItemAttr 

Item's type (OSType)

kLabelKCItemAttr 

Script code for all strings (ScriptCode)

kInvisibleKCItemAttr 

Item label (string)

kNegativeKCItemAttr 

Invisible (boolean)

kCustomIconKCItemAttr 

Negative (boolean)

kAccountKCItemAttr 

Custom icon (boolean)

kServiceKCItemAttr 

User account (string) Unique Generic password attributes

kGenericKCItemAttr 

Service (string)

kSecurityDomainKCItemAttr 

User-defined attribute (untyped bytes) Unique Internet password attributes

kServerKCItemAttr 

Security domain (string)

kAuthTypeKCItemAttr 

Server's domain name or IP address (string)

kPortKCItemAttr 

Authentication Type (KCAuthType)

kPathKCItemAttr 

Port (UInt16)

kVolumeKCItemAttr 

Path (string) Unique Appleshare password attributes

kAddressKCItemAttr 

Volume (string)

kSignatureKCItemAttr 

Server address (IP or domain name) or zone name (string)

kProtocolKCItemAttr 

Server signature block (AFPServerSignature) Unique AppleShare and Internet attributes

kSubjectKCItemAttr 

Protocol (KCProtocolType) Certificate attributes

kCommonNameKCItemAttr 

Subject distinguished name (DER-encoded data)

kIssuerKCItemAttr 

Common Name (UTF8-encoded string)

kSerialNumberKCItemAttr 

Issuer distinguished name (DER-encoded data)

kEMailKCItemAttr 

Certificate serial number (DER-encoded data)

kPublicKeyHashKCItemAttr 

E-mail address (ASCII-encoded string)

kIssuerURLKCItemAttr 

Hash of public key (KCPublicKeyHash), 20 bytes max.

kEncryptKCItemAttr 

URL of the certificate issuer (ASCII-encoded string) Shared by keys and certificates

kDecryptKCItemAttr 

Encrypt (Boolean)

kSignKCItemAttr 

Decrypt (Boolean)

kVerifyKCItemAttr 

Sign (Boolean)

kWrapKCItemAttr 

Verify (Boolean)

kUnwrapKCItemAttr 

Wrap (Boolean)

kStartDateKCItemAttr 

Unwrap (Boolean)

kEndDateKCItemAttr 

Start Date (UInt32)

◆ anonymous enum

anonymous enum
Enumerator
kCertUsageShift 

First byte reserved for SecOptions flags

kCertUsageSigningAdd 

start at bit 8

◆ anonymous enum

anonymous enum
Enumerator
kCertSearchSigningIgnored 

start at bit 0

◆ anonymous enum

anonymous enum

Other constants

Function Documentation

◆ DisposeKCCallbackUPP()

void DisposeKCCallbackUPP ( KCCallbackUPP  userUPP)

DisposeKCCallbackUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ InvokeKCCallbackUPP()

OSStatus InvokeKCCallbackUPP ( KCEvent  keychainEvent,
KCCallbackInfo info,
void *  userContext,
KCCallbackUPP  userUPP 
)

InvokeKCCallbackUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ kcaddapplesharepassword()

OSStatus kcaddapplesharepassword ( AFPServerSignature *  serverSignature,
const char *  serverAddress,
const char *  serverName,
const char *  volumeName,
const char *  accountName,
UInt32  passwordLength,
const void *  passwordData,
KCItemRef *  item 
)

Routines that use "C" strings kcaddapplesharepassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCAddAppleSharePassword()

OSStatus KCAddAppleSharePassword ( AFPServerSignature *  serverSignature,
StringPtr  serverAddress,
StringPtr  serverName,
StringPtr  volumeName,
StringPtr  accountName,
UInt32  passwordLength,
const void *  passwordData,
KCItemRef *  item 
)

Storing and retrieving AppleShare passwords KCAddAppleSharePassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCAddCallback()

OSStatus KCAddCallback ( KCCallbackUPP  callbackProc,
KCEventMask  eventMask,
void *  userContext 
)

CALL_NOT_IN_CARBON Keychain Manager callbacks KCAddCallback()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ kcaddgenericpassword()

OSStatus kcaddgenericpassword ( const char *  serviceName,
const char *  accountName,
UInt32  passwordLength,
const void *  passwordData,
KCItemRef *  item 
)

can be NULL kcaddgenericpassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCAddGenericPassword()

OSStatus KCAddGenericPassword ( StringPtr  serviceName,
StringPtr  accountName,
UInt32  passwordLength,
const void *  passwordData,
KCItemRef *  item 
)

can be NULL Storing and retrieving other types of passwords KCAddGenericPassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ kcaddinternetpassword()

OSStatus kcaddinternetpassword ( const char *  serverName,
const char *  securityDomain,
const char *  accountName,
UInt16  port,
OSType  protocol,
OSType  authType,
UInt32  passwordLength,
const void *  passwordData,
KCItemRef *  item 
)

can be NULL kcaddinternetpassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCAddInternetPassword()

OSStatus KCAddInternetPassword ( StringPtr  serverName,
StringPtr  securityDomain,
StringPtr  accountName,
UInt16  port,
OSType  protocol,
OSType  authType,
UInt32  passwordLength,
const void *  passwordData,
KCItemRef *  item 
)

can be NULL Storing and retrieving Internet passwords KCAddInternetPassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ kcaddinternetpasswordwithpath()

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 
)

can be NULL kcaddinternetpasswordwithpath()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCAddInternetPasswordWithPath()

OSStatus KCAddInternetPasswordWithPath ( StringPtr  serverName,
StringPtr  securityDomain,
StringPtr  accountName,
StringPtr  path,
UInt16  port,
OSType  protocol,
OSType  authType,
UInt32  passwordLength,
const void *  passwordData,
KCItemRef *  item 
)

can be NULL KCAddInternetPasswordWithPath()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCCopyItem()

OSStatus KCCopyItem ( KCItemRef  item,
KCRef  destKeychain,
KCItemRef *  copy 
)

KCCopyItem()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCCountKeychains()

UInt16 KCCountKeychains ( void  )

Enumerating available keychains KCCountKeychains()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCDeleteItem()

OSStatus KCDeleteItem ( KCItemRef  item)

Managing keychain items KCDeleteItem()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ kcfindapplesharepassword()

OSStatus kcfindapplesharepassword ( AFPServerSignature *  serverSignature,
const char *  serverAddress,
const char *  serverName,
const char *  volumeName,
const char *  accountName,
UInt32  maxLength,
void *  passwordData,
UInt32 *  actualLength,
KCItemRef *  item 
)

can be NULL kcfindapplesharepassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
serverAddresscan be NULL
serverNamecan be NULL
volumeNamecan be NULL
accountNamecan be NULL
maxLengthcan be NULL

◆ KCFindAppleSharePassword()

OSStatus KCFindAppleSharePassword ( AFPServerSignature *  serverSignature,
StringPtr  serverAddress,
StringPtr  serverName,
StringPtr  volumeName,
StringPtr  accountName,
UInt32  maxLength,
void *  passwordData,
UInt32 *  actualLength,
KCItemRef *  item 
)

can be NULL KCFindAppleSharePassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
serverAddresscan be NULL
serverNamecan be NULL
volumeNamecan be NULL
accountNamecan be NULL
maxLengthcan be NULL

◆ KCFindFirstItem()

OSStatus KCFindFirstItem ( KCRef  keychain,
const KCAttributeList attrList,
KCSearchRef *  search,
KCItemRef *  item 
)

Searching and enumerating keychain items KCFindFirstItem()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
attrListcan be NULL
searchcan be NULL

◆ kcfindgenericpassword()

OSStatus kcfindgenericpassword ( const char *  serviceName,
const char *  accountName,
UInt32  maxLength,
void *  passwordData,
UInt32 *  actualLength,
KCItemRef *  item 
)

can be NULL kcfindgenericpassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
accountNamecan be NULL
maxLengthcan be NULL

◆ KCFindGenericPassword()

OSStatus KCFindGenericPassword ( StringPtr  serviceName,
StringPtr  accountName,
UInt32  maxLength,
void *  passwordData,
UInt32 *  actualLength,
KCItemRef *  item 
)

can be NULL KCFindGenericPassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
accountNamecan be NULL
maxLengthcan be NULL

◆ kcfindinternetpassword()

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 
)

can be NULL kcfindinternetpassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
securityDomaincan be NULL
accountNamecan be NULL
portcan be NULL

◆ KCFindInternetPassword()

OSStatus KCFindInternetPassword ( StringPtr  serverName,
StringPtr  securityDomain,
StringPtr  accountName,
UInt16  port,
OSType  protocol,
OSType  authType,
UInt32  maxLength,
void *  passwordData,
UInt32 *  actualLength,
KCItemRef *  item 
)

can be NULL KCFindInternetPassword()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
securityDomaincan be NULL
accountNamecan be NULL
portcan be NULL

◆ kcfindinternetpasswordwithpath()

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 
)

can be NULL kcfindinternetpasswordwithpath()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
securityDomaincan be NULL
accountNamecan be NULL
pathcan be NULL
portcan be NULL

◆ KCFindInternetPasswordWithPath()

OSStatus KCFindInternetPasswordWithPath ( StringPtr  serverName,
StringPtr  securityDomain,
StringPtr  accountName,
StringPtr  path,
UInt16  port,
OSType  protocol,
OSType  authType,
UInt32  maxLength,
void *  passwordData,
UInt32 *  actualLength,
KCItemRef *  item 
)

can be NULL KCFindInternetPasswordWithPath()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
securityDomaincan be NULL
accountNamecan be NULL
pathcan be NULL
portcan be NULL

◆ KCFindNextItem()

OSStatus KCFindNextItem ( KCSearchRef  search,
KCItemRef *  item 
)

KCFindNextItem()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCGetAttribute()

OSStatus KCGetAttribute ( KCItemRef  item,
KCAttribute attr,
UInt32 *  actualLength 
)

KCGetAttribute()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCGetData()

OSStatus KCGetData ( KCItemRef  item,
UInt32  maxLength,
void *  data,
UInt32 *  actualLength 
)

KCGetData()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCGetDefaultKeychain()

OSStatus KCGetDefaultKeychain ( KCRef *  keychain)

Specifying the default keychain KCGetDefaultKeychain()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCGetIndKeychain()

OSStatus KCGetIndKeychain ( UInt16  index,
KCRef *  keychain 
)

KCGetIndKeychain()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCGetKeychain()

OSStatus KCGetKeychain ( KCItemRef  item,
KCRef *  keychain 
)

KCGetKeychain()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCGetKeychainManagerVersion()

OSStatus KCGetKeychainManagerVersion ( UInt32 *  returnVers)

Opening and getting information about the Keychain Manager KCGetKeychainManagerVersion()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: not available

◆ kcgetkeychainname()

OSStatus kcgetkeychainname ( KCRef  keychain,
char *  keychainName 
)

Routines that use "C" strings kcgetkeychainname()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCGetKeychainName()

OSStatus KCGetKeychainName ( KCRef  keychain,
StringPtr  keychainName 
)

KCGetKeychainName()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCGetStatus()

OSStatus KCGetStatus ( KCRef  keychain,
UInt32 *  keychainStatus 
)

Getting information about a keychain KCGetStatus()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later
Parameters
keychainStatuscan be NULL

◆ KCIsInteractionAllowed()

Boolean KCIsInteractionAllowed ( void  )

KCIsInteractionAllowed()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCLock()

OSStatus KCLock ( KCRef  keychain)

can be NULL KCLock()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCMakeAliasFromKCRef()

OSStatus KCMakeAliasFromKCRef ( KCRef  keychain,
AliasHandle keychainAlias 
)

KCMakeAliasFromKCRef()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCMakeKCRefFromAlias()

OSStatus KCMakeKCRefFromAlias ( AliasHandle  keychainAlias,
KCRef *  keychain 
)

KCMakeKCRefFromAlias()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCMakeKCRefFromFSSpec()

OSStatus KCMakeKCRefFromFSSpec ( FSSpec *  keychainFSSpec,
KCRef *  keychain 
)

Creating references to keychains KCMakeKCRefFromFSSpec()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCNewItem()

OSStatus KCNewItem ( KCItemClass  itemClass,
OSType  itemCreator,
UInt32  length,
const void *  data,
KCItemRef *  item 
)

Creating and editing a keychain item KCNewItem()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCReleaseItem()

OSStatus KCReleaseItem ( KCItemRef *  item)

KCReleaseItem()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCReleaseKeychain()

OSStatus KCReleaseKeychain ( KCRef *  keychain)

KCReleaseKeychain()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCReleaseSearch()

OSStatus KCReleaseSearch ( KCSearchRef *  search)

KCReleaseSearch()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCRemoveCallback()

OSStatus KCRemoveCallback ( KCCallbackUPP  callbackProc)

KCRemoveCallback()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCSetAttribute()

OSStatus KCSetAttribute ( KCItemRef  item,
KCAttribute attr 
)

KCSetAttribute()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCSetData()

OSStatus KCSetData ( KCItemRef  item,
UInt32  length,
const void *  data 
)

KCSetData()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCSetDefaultKeychain()

OSStatus KCSetDefaultKeychain ( KCRef  keychain)

KCSetDefaultKeychain()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCSetInteractionAllowed()

OSStatus KCSetInteractionAllowed ( Boolean  state)

Managing the Human Interface KCSetInteractionAllowed()

Non-Carbon CFM: in KeychainLib 2.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ KCUpdateItem()

OSStatus KCUpdateItem ( KCItemRef  item)

Managing keychain items KCUpdateItem()

Non-Carbon CFM: in KeychainLib 1.0 and later
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later

◆ NewKCCallbackUPP()

KCCallbackUPP NewKCCallbackUPP ( KCCallbackProcPtr  userRoutine)

NewKCCallbackUPP()

Non-Carbon CFM: available as macro/inline
Carbon Lib: in CarbonLib 1.1 and later
Mac OS X: in version 10.0 and later