X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..7e6b461318c8a779d91381531435a68ee4e8b6ed:/OSX/libsecurity_keychain/lib/SecKeychainPriv.h diff --git a/OSX/libsecurity_keychain/lib/SecKeychainPriv.h b/OSX/libsecurity_keychain/lib/SecKeychainPriv.h index d4528aca..2b035d94 100644 --- a/OSX/libsecurity_keychain/lib/SecKeychainPriv.h +++ b/OSX/libsecurity_keychain/lib/SecKeychainPriv.h @@ -1,15 +1,15 @@ /* * Copyright (c) 2003-2004,2011-2014 Apple Inc. All Rights Reserved. - * + * * @APPLE_LICENSE_HEADER_START@ - * + * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in * compliance with the License. Please obtain a copy of the License at * http://www.opensource.apple.com/apsl/ and read it before using this * file. - * + * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, @@ -17,7 +17,7 @@ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * Please see the License for the specific language governing rights and * limitations under the License. - * + * * @APPLE_LICENSE_HEADER_END@ */ @@ -26,6 +26,7 @@ #include #include +#include #include #if defined(__cplusplus) @@ -48,7 +49,7 @@ OSStatus SecKeychainIsValid(SecKeychainRef keychainRef, Boolean* isValid) OSStatus SecKeychainChangePassword(SecKeychainRef keychainRef, UInt32 oldPasswordLength, const void *oldPassword, UInt32 newPasswordLength, const void *newPassword) __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_NA); OSStatus SecKeychainOpenWithGuid(const CSSM_GUID *guid, uint32 subserviceId, uint32 subserviceType, const char* dbName, const CSSM_NET_ADDRESS *dbLocation, SecKeychainRef *keychain) - __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA); + API_DEPRECATED("CSSM_GUID/CSSM_NET_ADDRESS is deprecated", macos(10.4,10.14)) API_UNAVAILABLE(ios, watchos, tvos, bridgeos, iosmac); OSStatus SecKeychainSetBatchMode (SecKeychainRef kcRef, Boolean mode, Boolean rollback) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA); @@ -65,9 +66,9 @@ OSStatus SecKeychainRemoveFromSearchList(SecKeychainRef keychainRef) /* Login keychain support */ OSStatus SecKeychainLogin(UInt32 nameLength, const void* name, UInt32 passwordLength, const void* password) __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_NA); -OSStatus SecKeychainStash() +OSStatus SecKeychainStash(void) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_NA); -OSStatus SecKeychainLogout() +OSStatus SecKeychainLogout(void) __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_NA); OSStatus SecKeychainCopyLogin(SecKeychainRef *keychainRef) __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_NA); @@ -76,7 +77,7 @@ OSStatus SecKeychainResetLogin(UInt32 passwordLength, const void* password, Bool OSStatus SecKeychainVerifyKeyStorePassphrase(uint32_t retries) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_NA); -OSStatus SecKeychainChangeKeyStorePassphrase() +OSStatus SecKeychainChangeKeyStorePassphrase(void) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_NA); /* Keychain synchronization */ @@ -97,29 +98,46 @@ OSStatus SecKeychainCreateWithBlob(const char* fullPathName, CFDataRef dbBlob, S /* Keychain list manipulation */ OSStatus SecKeychainAddDBToKeychainList (SecPreferencesDomain domain, const char* dbName, const CSSM_GUID *guid, uint32 subServiceType) - __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA); + API_DEPRECATED("CSSM_GUID is deprecated", macos(10.4,10.14)) API_UNAVAILABLE(ios, watchos, tvos, bridgeos, iosmac); OSStatus SecKeychainDBIsInKeychainList (SecPreferencesDomain domain, const char* dbName, const CSSM_GUID *guid, uint32 subServiceType) - __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA); + API_DEPRECATED("CSSM_GUID is deprecated", macos(10.4,10.14)) API_UNAVAILABLE(ios, watchos, tvos, bridgeos, iosmac); OSStatus SecKeychainRemoveDBFromKeychainList (SecPreferencesDomain domain, const char* dbName, const CSSM_GUID *guid, uint32 subServiceType) - __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_NA); + API_DEPRECATED("CSSM_GUID is deprecated", macos(10.4,10.14)) API_UNAVAILABLE(ios, watchos, tvos, bridgeos, iosmac); /* server operation (keychain inhibit) */ -void SecKeychainSetServerMode() +void SecKeychainSetServerMode(void) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA); /* special calls */ -OSStatus SecKeychainCleanupHandles() +OSStatus SecKeychainCleanupHandles(void) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA); -OSStatus SecKeychainSystemKeychainCheckWouldDeadlock() +OSStatus SecKeychainSystemKeychainCheckWouldDeadlock(void) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); OSStatus SecKeychainStoreUnlockKey(SecKeychainRef userKeychainRef, SecKeychainRef systemKeychainRef, CFStringRef username, CFStringRef password) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_NA); +/* Token login support */ +OSStatus SecKeychainStoreUnlockKeyWithPubKeyHash(CFDataRef pubKeyHash, CFStringRef tokenID, CFDataRef wrapPubKeyHash, SecKeychainRef userKeychain, CFStringRef password) + __OSX_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_NA); +OSStatus SecKeychainEraseUnlockKeyWithPubKeyHash(CFDataRef pubKeyHash) + __OSX_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_NA); + +/* calls to interact with keychain versions */ +OSStatus SecKeychainGetKeychainVersion(SecKeychainRef keychain, UInt32* version) + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_NA); + +OSStatus SecKeychainAttemptMigrationWithMasterKey(SecKeychainRef keychain, UInt32 version, const char* masterKeyFilename) + __OSX_AVAILABLE_STARTING(__MAC_10_11, __IPHONE_NA); + +/* calls for testing only */ +OSStatus SecKeychainGetUserPromptAttempts(uint32_t* attempts) + __OSX_AVAILABLE_STARTING(__MAC_10_12, __IPHONE_NA); + /*! @function SecKeychainMDSInstall Set up MDS. */ -OSStatus SecKeychainMDSInstall(); +OSStatus SecKeychainMDSInstall(void); #if defined(__cplusplus) }