Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылочная ссылка служб цепочки для ключей концепции безопасности

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка служб цепочки для ключей

Keychain Services является интерфейсом программирования, позволяющим Вам найти, добавить, изменить и удалить элементы цепочки для ключей.

Если Вы хотите смотреть на некоторый код, использующий этот API, можно найти исходный код для security инструмент командной строки в SecurityTool проект на веб-сайте Apple С открытым исходным кодом.

Функции

Для этого интерфейса элементы цепочки для ключей найдены или определены CFDictionary пар ключ/значение. Каждый ключ в словаре идентифицирует один атрибут элемента цепочки для ключей или параметр поиска. Например, можно использовать kSecClass ключ, чтобы указать, что элемент цепочки для ключей является интернет-паролем, что это имеет определенную дату создания, что это для протокола HTTPS, и что только должно быть возвращено первое найденное соответствие. Ключи, которые могут использоваться с этой целью и возможные значения для каждого ключа, перечислены в разделе Keychain Services Constants.

Посмотрите раздел обсуждения SecItemCopyMatching функция для получения информации о том, как создать элемент цепочки для ключей, ищет словарь.

  • Возвраты один или несколько элементов цепочки для ключей, соответствующих поисковый запрос или копирующих атрибуты определенных элементов цепочки для ключей.

    Объявление

    Swift

    func SecItemCopyMatching(_ query: CFDictionary!, _ result: UnsafeMutablePointer<Unmanaged<AnyObject>?>) -> OSStatus

    Objective C

    OSStatus SecItemCopyMatching ( CFDictionaryRef query, CFTypeRef *result );

    Параметры

    query

    Словарь, содержащий спецификацию класса элемента (Ключи Класса Элемента цепочки для ключей и Значения) и дополнительные атрибуты для управления поиском. Посмотрите Константы Keychain Services для описания в настоящее время определяемых поисковых атрибутов.

    result

    По возврату, ссылке на найденные элементы. Точный тип результата основывается на поисковых атрибутах, предоставленных в запросе, как обсуждено ниже.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Вы указываете атрибуты, определяющие поиск путем добавления пар ключ/значение к словарю запроса.

    Типичный запрос состоит из:

    Возвратите типы (Константы Результатов поиска) указаны следующим образом:

    • Получить ссылку (типа CFDataRef) к данным соответствующего элемента указать kSecReturnData со значением kCFBooleanTrue.

    • Получить словарь (типа CFDictionaryRef) содержа атрибуты соответствующего элемента, указать kSecReturnAttributes со значением kCFBooleanTrue.

    • Получить ссылку (типа SecKeychainItemRef, SecKeyRef, SecCertificateRef, или SecIdentityRef) к соответствующему элементу указать kSecReturnRef со значением kCFBooleanTrue.

    • Получить персистентную ссылку (типа CFDataRef) к соответствующему элементу указать kSecReturnPersistentRef со значением kCFBooleanTrue. Обратите внимание на то, что в отличие от нормальных ссылок, персистентная ссылка может быть сохранена на диске или передана между процессами.

    • Если больше чем один тип возврата указан (например, kSecReturnRef и kSecReturnAttributes), результаты возвращаются как словарь (т.е. объект типа CFDictionaryRef) содержа все запрошенные данные.

    По умолчанию эта функция возвращает только первое найденное соответствие. Для получения больше чем одного соответствующего элемента за один раз укажите ключ поиска kSecMatchLimit со значением, больше, чем 1. Результатом будет объект типа CFArrayRef содержа до того числа соответствия элементов.

    По умолчанию эта функция ищет элементы в цепочке для ключей. Чтобы вместо этого обеспечить Ваш собственный набор элементов, которые будут отфильтрованы этим поисковым запросом, укажите ключ поиска kSecMatchItemList и обеспечьте как его значение a CFArrayRef объект, содержащий элементы типа SecKeychainItemRef, SecKeyRef, SecCertificateRef, или SecIdentityRef. Объекты в предоставленном массиве должны все иметь тот же тип.

    Для ограничения поиска цепочки для ключей определенной цепочкой для ключей или цепочками для ключей укажите ключ поиска kSecMatchSearchList и обеспечьте как его значение a CFArrayRef объект, содержащий элементы типа SecKeychainRef элементы.

    Для преобразования от персистентных ссылок элемента до нормальных ссылок элемента укажите ключ поиска kSecMatchItemList со значением, состоящим из объекта типа CFArrayRef ссылка на массив, содержащий один или несколько элементов типа CFDataRef (персистентные ссылки), и ключ типа возврата kSecReturnRef чье значение kCFBooleanTrue. Объекты в предоставленном массиве должны все иметь тот же тип.

    При использовании XCode для создавания приложения, XCode добавляет право идентификатора приложения на комплект приложений. Keychain Services использует это право для предоставления доступа к приложениям к его собственным элементам цепочки для ключей. Можно также добавить право групп доступа цепочки для ключей на приложение и, в дающем право файле списка свойств, указать массив групп доступа цепочки для ключей, которым принадлежит приложение. Файл списка свойств может иметь любое имя, которое Вы любите (например, keychain-access-groups.plist). Переменная сборки XCode CODE_SIGN_ENTITLEMENTS должен содержать SRCROOT относительный путь к дающему право файлу списка свойств. Сам файл списка свойств должен быть словарем с вызванным ключом верхнего уровня keychain-access-groups чье значение является массивом строк. Когда Вы вызываете SecItemAdd функция для добавления элемента к цепочке для ключей можно указать группу доступа, которой должен принадлежать тот элемент. По умолчанию, SecItemCopyMatching функционируйте ищет все группы доступа, которым принадлежит приложение. Однако можно добавить kSecAttrAccessGroup ключ к поисковому словарю для указания, который группа доступа искать элементы цепочки для ключей.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.6 и позже.

  • Добавляют один или несколько элементов к цепочке для ключей.

    Объявление

    Swift

    func SecItemAdd(_ attributes: CFDictionary!, _ result: UnsafeMutablePointer<Unmanaged<AnyObject>?>) -> OSStatus

    Objective C

    OSStatus SecItemAdd ( CFDictionaryRef attributes, CFTypeRef *result );

    Параметры

    attributes

    Словарь, содержащий пару ключ/значение класса элемента (Ключи Класса Элемента цепочки для ключей и Значения) и дополнительные пары ключ/значение атрибута (Ключи Элемента атрибута и Значения) указание значений атрибута элемента.

    result

    По возврату, ссылке на недавно добавленные элементы. Точный тип результата основывается на значениях, предоставленных в атрибутах, как обсуждено ниже. Передача NULL если не требуется этот результат.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Вы указываете атрибуты, определяющие элемент путем добавления пар ключ/значение к словарю атрибутов. Для добавления многократных элементов к цепочке для ключей сразу используют kSecUseItemList ключ (см. раздел Item List Key) с массивом элементов как его значение. Это только поддерживается для элементов непароля.

    Если Вы хотите, чтобы новый элемент цепочки для ключей был совместно использован среди многократных приложений, включайте kSecAttrAccessGroup введите словарь атрибутов. Значение этого ключа должно быть именем группы доступа цепочки для ключей, к который все программы, которые совместно используют этот элемент, принадлежат.

    При использовании XCode для создавания приложения, XCode добавляет право идентификатора приложения на комплект приложений. Keychain Services использует это право для предоставления доступа к приложениям к его собственным элементам цепочки для ключей. Можно также добавить право групп доступа цепочки для ключей на приложение и, в дающем право файле списка свойств, указать массив групп доступа цепочки для ключей, которым принадлежит приложение. Файл списка свойств может иметь любое имя, которое Вы любите (например, keychain-access-groups.plist). Переменная сборки XCode CODE_SIGN_ENTITLEMENTS должен содержать SRCROOT относительный путь к дающему право файлу списка свойств. Сам файл списка свойств должен быть словарем с вызванным ключом верхнего уровня keychain-access-groups чье значение является массивом строк. Если Вы добавляете такой файл списка свойств к комплекту приложений, то группа доступа, соответствующая праву идентификатора приложения, обрабатывается как последний элемент в массиве групп доступа. Если Вы не включаете kSecAttrAccessGroup введите словарь атрибутов, когда Вы вызовете SecItemAdd функция для добавления элемента к цепочке для ключей функция использует первую группу доступа в массиве по умолчанию. Если существует нет kSecAttrAccessGroup введите словарь атрибутов и нет никакого права групп доступа цепочки для ключей в комплекте приложений, тогда группа доступа недавно создаваемого элемента является значением права идентификатора приложения.

    Например, группа разработки в Apple могла бы иметь ID:

    659823F3DC53.com.apple

    и идентификаторы приложений их двух приложений могли бы быть:

    659823F3DC53.com.apple.oneappleapp и

    659823F3DC53.com.apple.twoappleapp

    Если оба приложения добавляют право групп доступа цепочки для ключей с одним значением в массиве групп доступа:

    659823F3DC53.com.apple.netaccount

    тогда оба приложения добавили бы новые элементы цепочки для ключей к 659823F3DC53.com.apple.netaccount у группы доступа по умолчанию и обоих приложений был бы доступ к элементам цепочки для ключей в той группе. Кроме того, каждое приложение все еще имело бы доступ к своим собственным частным элементам цепочки для ключей: OneAppleApp имел бы доступ к элементам в группе доступа цепочки для ключей 659823F3DC53.com.apple.oneappleapp и TwoAppleApp имел бы доступ к элементам в 659823F3DC53.com.apple.twoappleapp.

    Возвратите типы (Константы Результатов поиска) указаны следующим образом:

    • Получить данные добавленного элемента как объект типа CFDataRef, укажите ключ типа возврата kSecReturnData со значением kCFBooleanTrue.

    • Получить все атрибуты добавленного элемента как объекты типа CFDictionaryRef, указать kSecReturnAttributes со значением kCFBooleanTrue.

    • Получить ссылку на добавленный элемент типа SecKeychainItemRef, SecKeyRef, SecCertificateRef, или SecIdentityRef), укажите kSecReturnRef со значением kCFBooleanTrue. Если тип возврата явно не указан, это - поведение по умолчанию.

    • Получить персистентную ссылку на добавленный элемент (объект типа CFDataRef), укажите kSecReturnPersistentRef со значением kCFBooleanTrue. Обратите внимание на то, что в отличие от нормальных ссылок, персистентная ссылка может быть сохранена на диске или передана между процессами.

    • Если больше чем один из этих, которые вводит возврат, указан, результат возвращается как объект типа CFDictionaryRef содержа все запрошенные данные.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.6 и позже.

  • Изменяет элементы, соответствующие поисковый запрос.

    Объявление

    Swift

    func SecItemUpdate(_ query: CFDictionary!, _ attributesToUpdate: CFDictionary!) -> OSStatus

    Objective C

    OSStatus SecItemUpdate ( CFDictionaryRef query, CFDictionaryRef attributesToUpdate );

    Параметры

    query

    Словарь, содержащий спецификацию класса элемента и дополнительные атрибуты для управления поиском. Укажите элементы, значения которых Вы хотите изменить. Посмотрите Ключи поиска для описания в настоящее время определяемых поисковых атрибутов.

    attributesToUpdate

    Словарь, содержащий атрибуты, значения которых должны быть изменены, вместе с новыми значениями. Только реальные атрибуты цепочки для ключей разрешены в этом словаре (никакие атрибуты «meta» не позволяются.) Посмотрите Ключи Элемента Атрибута и Значения для описания в настоящее время определяемых атрибутов значения.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Посмотрите раздел обсуждения SecItemCopyMatching функция для получения информации о том, как создать поисковый словарь.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.6 и позже.

  • Удаляет элементы, соответствующие поисковый запрос.

    Объявление

    Swift

    func SecItemDelete(_ query: CFDictionary!) -> OSStatus

    Objective C

    OSStatus SecItemDelete ( CFDictionaryRef query );

    Параметры

    query

    Словарь, содержащий спецификацию класса элемента и дополнительные атрибуты для управления поиском. Посмотрите Ключи поиска для описания в настоящее время определяемых поисковых атрибутов.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Посмотрите раздел обсуждения SecItemCopyMatching функция для получения информации о том, как создать поисковый словарь.

    По умолчанию эта функция удаляет все элементы, соответствующие указанный запрос. Можно изменить это поведение путем указания ключа, следующим образом:

    • Для удаления элемента, идентифицированного переходной ссылкой, укажите kSecMatchItemList ключ поиска со ссылкой возвратился при помощи kSecReturnRef возвратитесь тип вводят предыдущий вызов к SecItemCopyMatching или SecItemAdd функции.

    • Для удаления элемента, идентифицированного персистентной ссылкой, укажите kSecMatchItemList ключ поиска с персистентной ссылкой возвратился при помощи kSecReturnPersistentRef возвратите ключ типа SecItemCopyMatching или SecItemAdd функции.

    • Если больше чем одна из этих клавиш Return указана, поведение не определено.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.6 и позже.

  • Возвращает строку, объясняя значение кода результата безопасности.

    Объявление

    Swift

    func SecCopyErrorMessageString(_ status: OSStatus, _ reserved: UnsafeMutablePointer<Void>) -> Unmanaged<CFString>!

    Objective C

    CFStringRef SecCopyErrorMessageString ( OSStatus status, void *reserved );

    Параметры

    status

    Код результата типа OSStatus или CSSM_RETURN, возвращенный безопасностью или функцией CSSM.

    reserved

    Зарезервированный для будущего использования. Передача NULL для этого параметра.

    Возвращаемое значение

    Человекочитаемая строка, описывающая результат, или NULL если никакая строка не доступна для указанного кода результата. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Определяет версию Keychain Services, установленной в системе пользователя.

    Объявление

    Swift

    func SecKeychainGetVersion(_ returnVers: UnsafeMutablePointer<UInt32>) -> OSStatus

    Objective C

    OSStatus SecKeychainGetVersion ( UInt32 *returnVers );

    Параметры

    returnVers

    По возврату указатель на номер версии Keychain Services установлен на существующей системе. Посмотрите Версию Настроек Цепочки для ключей для списка значений.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Ваше приложение может вызвать SecKeychainGetVersion функция для обнаружения, какая версия Keychain Services установлена в системе пользователя.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Возвращает уникальный идентификатор непрозрачного типа к который a SecKeychainRef объект принадлежит.

    Объявление

    Swift

    func SecKeychainGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecKeychainGetTypeID ( void );

    Возвращаемое значение

    Значение, идентифицирующее непрозрачный тип a SecKeychainRef объект.

    Обсуждение

    Эта функция возвращает значение, однозначно определяющее непрозрачный тип a SecKeychainRef объект. Можно сравнить это значение с CFTypeID идентификатор, полученный путем вызова CFGetTypeID функция на конкретном объекте. Эти значения могли бы измениться от выпуска до выпуска или платформы на платформу.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Возвращает уникальный идентификатор непрозрачного типа к который a SecKeychainItemRef объект принадлежит.

    Объявление

    Swift

    func SecKeychainItemGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecKeychainItemGetTypeID ( void );

    Возвращаемое значение

    Значение, идентифицирующее непрозрачный тип a SecKeychainItemRef объект.

    Обсуждение

    Эта функция возвращает значение, однозначно определяющее непрозрачный тип a SecKeychainItemRef объект. Можно сравнить это значение с CFTypeID идентификатор, полученный путем вызова CFGetTypeID функция на конкретном объекте. Эти значения могли бы измениться от выпуска до выпуска или платформы на платформу.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Возвращает уникальный идентификатор непрозрачного типа к который a SecKeychainSearchRef объект принадлежит.

    Объявление

    Objective C

    CFTypeID SecKeychainSearchGetTypeID ( void );

    Возвращаемое значение

    Значение, идентифицирующее непрозрачный тип a SecKeychainSearchRef объект.

    Обсуждение

    Эта функция возвращает значение, однозначно определяющее непрозрачный тип a SecKeychainSearchRef объект. Можно сравнить это значение с CFTypeID идентификатор, полученный путем вызова CFGetTypeID функция на конкретном объекте. Эти значения могли бы измениться от выпуска до выпуска или платформы на платформу.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Возвращает уникальный идентификатор непрозрачного типа к который a SecAccessRef объект принадлежит.

    Объявление

    Swift

    func SecAccessGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecAccessGetTypeID ( void );

    Возвращаемое значение

    Значение, идентифицирующее непрозрачный тип a SecAccessRef объект.

    Обсуждение

    Эта функция возвращает значение, однозначно определяющее непрозрачный тип a SecAccessRef объект. Можно сравнить это значение с CFTypeID идентификатор, полученный путем вызова CFGetTypeID функция на конкретном объекте. Эти значения могли бы измениться от выпуска до выпуска или платформы на платформу.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Возвращает уникальный идентификатор непрозрачного типа к который a SecACLRef объект принадлежит.

    Объявление

    Swift

    func SecACLGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecACLGetTypeID ( void );

    Возвращаемое значение

    Значение, идентифицирующее непрозрачный тип a SecACLRef объект.

    Обсуждение

    Эта функция возвращает значение, однозначно определяющее непрозрачный тип a SecACLRef объект. Можно сравнить это значение с CFTypeID идентификатор, полученный путем вызова CFGetTypeID функция на конкретном объекте. Эти значения могли бы измениться от выпуска до выпуска или платформы на платформу.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Возвращает уникальный идентификатор непрозрачного типа к который a SecTrustedApplication объект принадлежит.

    Объявление

    Swift

    func SecTrustedApplicationGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecTrustedApplicationGetTypeID ( void );

    Возвращаемое значение

    Значение, идентифицирующее непрозрачный тип a SecTrustedApplicationRef объект.

    Обсуждение

    Эта функция возвращает значение, однозначно определяющее непрозрачный тип a SecTrustedApplicationRef объект. Можно сравнить это значение с CFTypeID идентификатор, полученный путем вызова CFGetTypeID функция на конкретном объекте. Эти значения могли бы измениться от выпуска до выпуска или платформы на платформу.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Создает пустую цепочку для ключей.

    Объявление

    Swift

    func SecKeychainCreate(_ pathName: UnsafePointer<Int8>, _ passwordLength: UInt32, _ password: UnsafePointer<Void>, _ promptUser: Boolean, _ initialAccess: SecAccess!, _ keychain: UnsafeMutablePointer<Unmanaged<SecKeychain>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainCreate ( const char *pathName, UInt32 passwordLength, const void *password, Boolean promptUser, SecAccessRef initialAccess, SecKeychainRef *keychain );

    Параметры

    pathName

    Постоянная символьная строка, представляющая путь POSIX, указывающий, где сохранить цепочку для ключей.

    passwordLength

    32-разрядное целое число без знака, представляющее длину буфера, которым указывают password. Передача 0 если значение password NULL и значение promptUser TRUE.

    password

    Указатель на буфер, содержащий пароль, использующийся для защиты новой цепочки для ключей. Пароль должен быть в каноническом кодировании UTF-8. Передача NULL если значение passwordLength 0 и значение promptUser TRUE.

    promptUser

    Представление булева значения, вывести ли на экран диалоговое окно пароля пользователю. Установите это значение в TRUE вывести на экран диалоговое окно пароля или FALSE иначе. Если Вы передаете TRUE, любые значения передали для passwordLength и password проигнорированы, и диалоговое окно для пользователя для ввода пароля представлено.

    initialAccess

    Объект доступа указание начальных прав доступа для цепочки для ключей. Права доступа цепочки для ключей определяют, какие приложения имеют разрешение использовать цепочку для ключей. Можно передать NULL для стандартных прав доступа.

    keychain

    По возврату, указателю на объект цепочки для ключей. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него. Передача NULL если Вам не нужен указатель на возвращенный объект цепочки для ключей.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция создает пустую цепочку для ключей. keychain, password, и initialAccess параметры являются дополнительными. Если взаимодействие с пользователем для создания цепочки для ключей отправляется, недавно создаваемая цепочка для ключей автоматически разблокирована после создания.

    Система гарантирует, что цепочка для ключей по умолчанию создается для пользователя при входе в систему, таким образом, в большинстве случаев, Вы не должны вызывать эту функцию сами. Пользователи могут создать дополнительные цепочки для ключей или изменить значение по умолчанию, при помощи приложения Доступа Цепочки для ключей. Однако недостающая цепочка для ключей по умолчанию не воссоздается автоматически, и можно получить errSecNoDefaultKeychain ошибка от других функций, если не существует цепочка для ключей по умолчанию. В этом случае можно использовать эту функцию, сопровождаемую SecKeychainSetDefault, создать новую цепочку для ключей по умолчанию. Можно также вызвать эту функцию для создания частной временной цепочки для ключей для использования приложения в случаях, где не может произойти никакое взаимодействие с пользователем.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Удаляет одну или более цепочек для ключей из списка поиска цепочки для ключей по умолчанию и удаляет саму цепочку для ключей, если это - файл.

    Объявление

    Swift

    func SecKeychainDelete(_ keychainOrArray: SecKeychain!) -> OSStatus

    Objective C

    OSStatus SecKeychainDelete ( SecKeychainRef keychainOrArray );

    Параметры

    keychainOrArray

    Единственная цепочка для ключей возражает или ссылка на массив цепочек для ключей, которые Вы хотите удалить. Для удаления больше чем одной цепочки для ключей создайте a CFArray из ссылок цепочки для ключей (тип SecKeychainRef) и передайте ссылку на массив.

    В OS X v10.3 и позже, передавая NULL к этому параметру возвращается errSecInvalidKeychain код ошибки. В OS X v10.2, назвали этот параметр keychain и только взял единственный объект цепочки для ключей. Передача NULL к этому параметру удалил цепочку для ключей пользователя по умолчанию.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Код результата errSecInvalidKeychain если указанная цепочка для ключей недопустима или если значение, возвращается keychainOrArray параметр недопустим (NULL). Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Цепочка для ключей может быть файлом, хранившим локально, смарт-карта, или полученный от использования сетевого сервера не, файл базировал протоколы базы данных. Эта функция удаляет цепочку для ключей, только если это - локальный файл.

    Эта функция не выпускает память, используемую объектом цепочки для ключей; необходимо вызвать CFRelease функционируйте для выпуска каждого объекта цепочки для ключей, когда Вы будете закончены с ним.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Открывает цепочку для ключей.

    Объявление

    Swift

    func SecKeychainOpen(_ pathName: UnsafePointer<Int8>, _ keychain: UnsafeMutablePointer<Unmanaged<SecKeychain>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainOpen ( const char *pathName, SecKeychainRef *keychain );

    Параметры

    pathName

    Постоянная символьная строка, представляющая POSIX, соединяет каналом к цепочке для ключей для открытия.

    keychain

    По возврату, указателю на объект цепочки для ключей. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Можно использовать эту функцию для получения указателя на объект цепочки для ключей, данный путь цепочки для ключей. Вы не должны закрывать цепочку для ключей, но необходимо выпустить память, которую занимает указатель, когда Вы закончены с ним.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Устанавливает цепочку для ключей по умолчанию.

    Объявление

    Swift

    func SecKeychainSetDefault(_ keychain: SecKeychain!) -> OSStatus

    Objective C

    OSStatus SecKeychainSetDefault ( SecKeychainRef keychain );

    Параметры

    keychain

    Ссылка на цепочку для ключей Вы хотите сделать значение по умолчанию.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Код результата errSecNoSuchKeychain указывает, что не могла быть найдена указанная цепочка для ключей. Код результата errSecInvalidKeychain указывает, что указанная цепочка для ключей недопустима. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    В большинстве случаев Ваше приложение не должно должно быть устанавливать цепочку для ключей по умолчанию, потому что это - выбор, обычно сделанный пользователем. Можно вызвать эту функцию для изменения, где пароль или другие элементы цепочки для ключей добавляются, но так как это - пользовательский выбор, необходимо задержать цепочку для ключей по умолчанию к указанной цепочке для ключей пользователя, когда Вы сделаны.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Получает указатель на цепочку для ключей по умолчанию.

    Объявление

    Swift

    func SecKeychainCopyDefault(_ keychain: UnsafeMutablePointer<Unmanaged<SecKeychain>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainCopyDefault ( SecKeychainRef *keychain );

    Параметры

    keychain

    По возврату, указателю на объект цепочки для ключей по умолчанию. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Код результата errSecNoDefaultKeychain указывает, что нет никакой цепочки для ключей по умолчанию. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Получает информацию о статусе цепочки для ключей.

    Объявление

    Swift

    func SecKeychainGetStatus(_ keychain: SecKeychain!, _ keychainStatus: UnsafeMutablePointer<SecKeychainStatus>) -> OSStatus

    Objective C

    OSStatus SecKeychainGetStatus ( SecKeychainRef keychain, SecKeychainStatus *keychainStatus );

    Параметры

    keychain

    Объект цепочки для ключей цепочки для ключей, состояние которой Вы хотите определить в течение сеанса пользователя. Передача NULL получить состояние цепочки для ключей по умолчанию.

    keychainStatus

    По возврату, указателю на состояние указанной цепочки для ключей. Посмотрите Маски Состояния Цепочки для ключей для допустимых констант состояния.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Код результата errSecNoSuchKeychain указывает, что не могла быть найдена указанная цепочка для ключей. Код результата errSecInvalidKeychain указывает, что указанная цепочка для ключей недопустима. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция получает состояние указанной цепочки для ключей. Можно использовать эту функцию, чтобы определить, разблокирована ли цепочка для ключей, читаема, или перезаписываемая. Обратите внимание на то, что состояние блокировки цепочки для ключей может измениться в любое время вследствие системного действия или пользователя. Поскольку система автоматически предлагает пользователю разблокировать цепочку для ключей при необходимости, Вы не должны обычно волноваться о состоянии блокировки цепочки для ключей. Если действительно необходимо отследить состояние блокировки цепочки для ключей, используйте SecKeychainAddCallback функционируйте для регистрации для уведомлений цепочки для ключей.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Определяет путь цепочки для ключей.

    Объявление

    Swift

    func SecKeychainGetPath(_ keychain: SecKeychain!, _ ioPathLength: UnsafeMutablePointer<UInt32>, _ pathName: UnsafeMutablePointer<Int8>) -> OSStatus

    Objective C

    OSStatus SecKeychainGetPath ( SecKeychainRef keychain, UInt32 *ioPathLength, char *pathName );

    Параметры

    keychain

    Ссылка на цепочку для ключей, путь которой Вы хотите получить.

    ioPathLength

    На записи, указателе на переменную, содержащую длину (в байтах) буфера, указанного pathName.

    По возврату, длине строки pathName, не включая нулевое завершение.

    pathName

    На записи, указателе на буфер, который Вы выделили. По возврату буфер содержит путь POSIX цепочки для ключей как завершенный нулем UTF-8 закодированная строка. Функциональные возвраты errSecBufferTooSmall если предоставленный буфер является слишком маленьким для содержания строки с нулевым байтом разделителя.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Изменяет настройки цепочки для ключей.

    Объявление

    Swift

    func SecKeychainSetSettings(_ keychain: SecKeychain!, _ newSettings: UnsafePointer<SecKeychainSettings>) -> OSStatus

    Objective C

    OSStatus SecKeychainSetSettings ( SecKeychainRef keychain, const SecKeychainSettings *newSettings );

    Параметры

    keychain

    Ссылка на цепочку для ключей, настройки которой Вы хотите изменить. Передача NULL изменить настройки цепочки для ключей по умолчанию.

    newSettings

    Указатель на структуру настроек цепочки для ключей, определяющую, блокирует ли цепочка для ключей при сне, или блокировки после периода времени набора неактивности.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Получает настройки цепочки для ключей.

    Объявление

    Swift

    func SecKeychainCopySettings(_ keychain: SecKeychain!, _ outSettings: UnsafeMutablePointer<SecKeychainSettings>) -> OSStatus

    Objective C

    OSStatus SecKeychainCopySettings ( SecKeychainRef keychain, SecKeychainSettings *outSettings );

    Параметры

    keychain

    Ссылка на цепочку для ключей, с которой можно скопировать ее настройки.

    outSettings

    По возврату, указателю на структуру настроек цепочки для ключей. Так как эта структура является имеющей версию, необходимо выделить память для нее и заполнить версию структуры прежде, чем передать ее функции.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Блокирует цепочку для ключей.

    Объявление

    Swift

    func SecKeychainLock(_ keychain: SecKeychain!) -> OSStatus

    Objective C

    OSStatus SecKeychainLock ( SecKeychainRef keychain );

    Параметры

    keychain

    Ссылка на цепочку для ключей для блокировки. Передача NULL заблокировать цепочку для ключей по умолчанию.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Код результата errSecNoSuchKeychain указывает, что не могла быть найдена указанная цепочка для ключей. Код результата errSecInvalidKeychain указывает, что указанная цепочка для ключей недопустима. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Ваше приложение не должно вызывать эту функцию, если Вы не отвечаете на запрос пользователя для блокировки цепочки для ключей. В целом необходимо оставить цепочку для ключей разблокированной так, чтобы пользователь не разблокировал ее снова в другом приложении.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Блокировки все цепочки для ключей, принадлежащие текущему пользователю.

    Объявление

    Swift

    func SecKeychainLockAll() -> OSStatus

    Objective C

    OSStatus SecKeychainLockAll ( void );

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Ваше приложение не должно вызывать эту функцию, если Вы не отвечаете на запрос пользователя для блокировки цепочки для ключей. В целом необходимо оставить цепочку для ключей разблокированной так, чтобы пользователь не разблокировал ее снова в другом приложении.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Разблокировал цепочку для ключей.

    Объявление

    Swift

    func SecKeychainUnlock(_ keychain: SecKeychain!, _ passwordLength: UInt32, _ password: UnsafePointer<Void>, _ usePassword: Boolean) -> OSStatus

    Objective C

    OSStatus SecKeychainUnlock ( SecKeychainRef keychain, UInt32 passwordLength, const void *password, Boolean usePassword );

    Параметры

    keychain

    Ссылка на цепочку для ключей для разблокирования. Передача NULL указать цепочку для ключей по умолчанию. Если Вы не обеспечили пароль, при передаче заблокированной цепочки для ключей эта функция выводит на экран диалоговое окно Unlock Keychain. Если указанная цепочка для ключей в настоящее время разблокирована, диалоговое окно Unlock Keychain не выведено на экран и эта функция возвраты noErr. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    passwordLength

    32-разрядное целое число без знака, представляющее длину буфера пароля.

    password

    Буфер, содержащий пароль для цепочки для ключей. Передача NULL если пароль пользователя неизвестен. В этом случае эта функция выводит на экран Разблокировать диалоговое окно Цепочки для ключей для запроса пользователя пароль цепочки для ключей.

    usePassword

    Булево значение, указывающее, используется ли параметр пароля. Необходимо передать TRUE если Вы передаете пароль или FALSE если это должно быть проигнорировано.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Код результата userCanceledErr указывает, что пользователь нажал Кнопку отмены в диалоговом окне Unlock Keychain. Код результата errSecAuthFailed указывает, что аутентификация перестала работать из-за слишком многих неуспешных повторений. Код результата errSecInteractionRequired указывает, что взаимодействие с пользователем требуется, чтобы разблокировать цепочку для ключей. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    В большинстве случаев Ваше приложение не должно вызывать эту функцию непосредственно, начиная с большинства требующих функций Keychain Services, разблокированная цепочка для ключей делают так для Вас. Если Ваше приложение должно проверить, что цепочка для ключей разблокирована, вызовите функцию SecKeychainGetStatus.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Включает или отключает пользовательский интерфейс для функций Keychain Services, автоматически выводящих на экран пользовательский интерфейс.

    Объявление

    Swift

    func SecKeychainSetUserInteractionAllowed(_ state: Boolean) -> OSStatus

    Objective C

    OSStatus SecKeychainSetUserInteractionAllowed ( Boolean state );

    Параметры

    state

    Флаг, указывающий, выведет ли Keychain Services на экран пользовательский интерфейс. Если Вы передаете TRUE, взаимодействие с пользователем позволяется. Это - значение по умолчанию. Если FALSE, Функции Keychain Services, обычно выводящие на экран пользовательский интерфейс, вместо этого возвратят ошибку.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Функции Certain Keychain Services, требующие присутствия цепочки для ключей автоматически, выводят на экран Цепочку для ключей Не Найденное диалоговое окно, если нет ни одного. Функции, требующие, чтобы цепочка для ключей была разблокирована автоматически дисплей Разблокировать диалоговое окно Цепочки для ключей. SecKeychainSetUserInteractionAllowed функция позволяет Вам управлять, выводят ли эти функции на экран пользовательский интерфейс. По умолчанию взаимодействие с пользователем разрешено.

    Если Вы пишете приложение, которое должно работать необслуживаемый на сервере, можно хотеть отключить пользовательский интерфейс так, чтобы любые последующие вызовы цепочки для ключей, обычно переводящие разблокировать UI в рабочее состояние, вместо этого сразу возвратились с errSecInteractionRequired результат). В этом случае необходимо программно создать цепочку для ключей или разблокировать цепочку для ключей при необходимости.

    Специальные замечания

    Если Вы отключаете взаимодействие с пользователем прежде, чем вызвать функцию Keychain Services, несомненно, повторно включат его, когда Вы закончены. Отказ повторно включить взаимодействие с пользователем будет влиять на другие клиенты Keychain Services.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Указывает, позволяют ли функциям Keychain Services, обычно выводящим на экран взаимодействие с пользователем, сделать так.

    Объявление

    Swift

    func SecKeychainGetUserInteractionAllowed(_ state: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus SecKeychainGetUserInteractionAllowed ( Boolean *state );

    Параметры

    state

    По возврату, булево значение, указывающее, разрешено ли взаимодействие с пользователем. Если true, взаимодействие с пользователем позволяется, и функции Keychain Services, выводящие на экран пользовательский интерфейс, могут сделать так как надлежащие.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Устанавливает доступ к приложениям для цепочки для ключей.

    Объявление

    Swift

    func SecKeychainSetAccess(_ keychain: SecKeychain!, _ access: SecAccess!) -> OSStatus

    Objective C

    OSStatus SecKeychainSetAccess ( SecKeychainRef keychain, SecAccessRef access );

    Параметры

    keychain

    Ссылка на цепочку для ключей, для которой можно установить доступ. Передача NULL указать цепочку для ключей по умолчанию.

    access

    Объект доступа типа SecAccessRef содержа списки управления доступом для цепочки для ключей. Посмотрите Создание Объекта Доступа для инструкций при создании объекта доступа.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    В дополнение к ACLs для отдельных элементов цепочки для ключей сама цепочка для ключей имеет ACLs. Однако они в настоящее время не использованы, и эта функция не реализована.

    Специальные замечания

    Несмотря на то, что эта функция доступна в OS X v10.2 и позже, это не реализовано и возвращается errSecUnimplemented код ошибки, если вызвано.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Получает доступ к приложениям цепочки для ключей.

    Объявление

    Swift

    func SecKeychainCopyAccess(_ keychain: SecKeychain!, _ access: UnsafeMutablePointer<Unmanaged<SecAccess>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainCopyAccess ( SecKeychainRef keychain, SecAccessRef *access );

    Параметры

    keychain

    Ссылка на цепочку для ключей, с которой можно скопировать объект доступа. Передача NULL указать цепочку для ключей по умолчанию.

    access

    Указатель на объект доступа. По возврату это указывает на объект доступа указанной цепочки для ключей. Посмотрите Управляющие Объекты Доступа для получения информации об управлении объектами доступа.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Специальные замечания

    Несмотря на то, что эта функция доступна в OS X v10.2, это было не реализовано перед OS X v10.3 и возвратилось errSecUnimplemented код ошибки, если вызвано.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Добавляет новый интернет-пароль к цепочке для ключей.

    Объявление

    Swift

    func SecKeychainAddInternetPassword(_ keychain: SecKeychain!, _ serverNameLength: UInt32, _ serverName: UnsafePointer<Int8>, _ securityDomainLength: UInt32, _ securityDomain: UnsafePointer<Int8>, _ accountNameLength: UInt32, _ accountName: UnsafePointer<Int8>, _ pathLength: UInt32, _ path: UnsafePointer<Int8>, _ port: UInt16, _ `protocol`: SecProtocolType, _ authenticationType: SecAuthenticationType, _ passwordLength: UInt32, _ passwordData: UnsafePointer<Void>, _ itemRef: UnsafeMutablePointer<Unmanaged<SecKeychainItem>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainAddInternetPassword ( SecKeychainRef keychain, UInt32 serverNameLength, const char *serverName, UInt32 securityDomainLength, const char *securityDomain, UInt32 accountNameLength, const char *accountName, UInt32 pathLength, const char *path, UInt16 port, SecProtocolType protocol, SecAuthenticationType authenticationType, UInt32 passwordLength, const void *passwordData, SecKeychainItemRef *itemRef );

    Параметры

    keychain

    Ссылка на цепочку для ключей, в которой можно сохранить интернет-пароль. Передача NULL указать цепочку для ключей пользователя по умолчанию.

    serverNameLength

    Длина serverName символьная строка.

    serverName

    UTF-8 закодировал символьную строку, представляющую имя сервера.

    securityDomainLength

    Длина securityDomain символьная строка.

    securityDomain

    UTF-8 закодировал символьную строку, представляющую домен защиты. Этот параметр является дополнительным. Передайте NULL, если протокол не требует его.

    accountNameLength

    Длина accountName символьная строка.

    accountName

    UTF-8 закодировал символьную строку, представляющую название счета.

    pathLength

    Длина path символьная строка.

    path

    UTF-8 закодировал символьную строку, представляющую путь.

    port

    Номер порта TCP/IP. Если никакой определенный номер порта не связан с этим паролем, передачей 0.

    protocol

    Протокол связался с этим паролем. Посмотрите Константы Типа протокола Цепочки для ключей для описания возможных значений.

    authenticationType

    Схема аутентификации используется. Посмотрите Константы Типа аутентификации Цепочки для ключей для описания возможных значений. Передайте константу kSecAuthenticationTypeDefault, указать схему аутентификации по умолчанию.

    passwordLength

    Длина passwordData буфер.

    passwordData

    Указатель на буфер, содержащий данные пароля, которые будут сохранены в цепочке для ключей.

    itemRef

    По возврату, указателю на ссылку на новый элемент цепочки для ключей. Передача NULL если Вы не хотите получать этот объект. Необходимо выделить память для этого указателя. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Код результата errSecNoDefaultKeychain указывает, что не могла быть найдена никакая цепочка для ключей по умолчанию. Код результата errSecDuplicateItem указывает, что Вы попытались добавить пароль, уже существующий в цепочке для ключей. Код результата errSecDataTooLarge указывает, что Вы попытались добавить больше данных, чем позволяется для структуры этого типа. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция добавляет новый пароль Интернет-сервера к указанной цепочке для ключей. Обязательные параметры для идентификации пароля serverName и accountName (Вы не можете передать NULL для обоих параметров). Кроме того, некоторые протоколы могут потребовать дополнительного securityDomain когда требуют аутентификацию. Эта функция дополнительно возвращает ссылку на недавно добавленный элемент.

    Эта функция устанавливает начальные права доступа для нового элемента цепочки для ключей так, чтобы приложению, создающему элемент, предоставили доверительный доступ.

    Эта функция автоматически вызывает функцию SecKeychainUnlock вывести на экран диалоговое окно Unlock Keychain, если в настоящее время блокируется цепочка для ключей.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Находит, что первый интернет-пароль на основе атрибутов передал.

    Объявление

    Swift

    func SecKeychainFindInternetPassword(_ keychainOrArray: AnyObject!, _ serverNameLength: UInt32, _ serverName: UnsafePointer<Int8>, _ securityDomainLength: UInt32, _ securityDomain: UnsafePointer<Int8>, _ accountNameLength: UInt32, _ accountName: UnsafePointer<Int8>, _ pathLength: UInt32, _ path: UnsafePointer<Int8>, _ port: UInt16, _ `protocol`: SecProtocolType, _ authenticationType: SecAuthenticationType, _ passwordLength: UnsafeMutablePointer<UInt32>, _ passwordData: UnsafeMutablePointer<UnsafeMutablePointer<Void>>, _ itemRef: UnsafeMutablePointer<Unmanaged<SecKeychainItem>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainFindInternetPassword ( CFTypeRef keychainOrArray, UInt32 serverNameLength, const char *serverName, UInt32 securityDomainLength, const char *securityDomain, UInt32 accountNameLength, const char *accountName, UInt32 pathLength, const char *path, UInt16 port, SecProtocolType protocol, SecAuthenticationType authenticationType, UInt32 *passwordLength, void **passwordData, SecKeychainItemRef *itemRef );

    Параметры

    keychainOrArray

    Ссылка на массив цепочек для ключей для поиска, единственная цепочка для ключей или NULL для поиска цепочки для ключей пользователя по умолчанию ищут список.

    serverNameLength

    Длина serverName символьная строка.

    serverName

    UTF-8 закодировал символьную строку, представляющую имя сервера.

    securityDomainLength

    Длина securityDomain символьная строка.

    securityDomain

    UTF-8 закодировал символьную строку, представляющую домен защиты. Этот параметр является дополнительным, как не, все протоколы требуют его. Передача NULL если это не требуется.

    accountNameLength

    Длина accountName символьная строка.

    accountName

    UTF-8 закодировал символьную строку, представляющую название счета.

    pathLength

    Длина path символьная строка.

    path

    UTF-8 закодировал символьную строку, представляющую путь.

    port

    Номер порта TCP/IP. Передача 0 проигнорировать номер порта.

    protocol

    Протокол связался с этим паролем. Посмотрите Константы Типа протокола Цепочки для ключей для описания возможных значений.

    authenticationType

    Схема аутентификации используется. Посмотрите Константы Типа аутентификации Цепочки для ключей для описания возможных значений. Передайте константу kSecAuthenticationTypeDefault, указать схему аутентификации по умолчанию.

    passwordLength

    По возврату, длине буфера, которым указывают passwordData.

    passwordData

    По возврату, указателю на буфер, содержащий данные пароля. Передача NULL если Вы хотите получить объект элемента, но не данные пароля. В этом случае необходимо также передать NULL в passwordLength параметр. Необходимо использовать SecKeychainItemFreeContent функционируйте для освобождения памяти, на которую указывает этот параметр.

    itemRef

    По возврату, указателю на объект элемента интернет-пароля. Вы ответственны за выпуск Вашей ссылки на этот объект. Передача NULL если Вы не хотите получать этот объект.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция находит первый интернет-элемент пароля, соответствующий атрибуты, которые Вы обеспечиваете. Эта функция дополнительно возвращает ссылку на найденный элемент.

    Эта функция дешифрует пароль прежде, чем возвратить его Вам. Если вызывающее приложение не находится в списке доверяемых приложений, пользователю предлагают, прежде чем доступ предоставляется. Если средства управления доступом для этого элемента не позволяют дешифрование, функция возвращается errSecAuthFailed код результата.

    Эта функция автоматически вызывает функцию SecKeychainUnlock вывести на экран диалоговое окно Unlock Keychain, если в настоящее время блокируется цепочка для ключей.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Добавляет новый универсальный пароль к цепочке для ключей.

    Объявление

    Swift

    func SecKeychainAddGenericPassword(_ keychain: SecKeychain!, _ serviceNameLength: UInt32, _ serviceName: UnsafePointer<Int8>, _ accountNameLength: UInt32, _ accountName: UnsafePointer<Int8>, _ passwordLength: UInt32, _ passwordData: UnsafePointer<Void>, _ itemRef: UnsafeMutablePointer<Unmanaged<SecKeychainItem>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainAddGenericPassword ( SecKeychainRef keychain, UInt32 serviceNameLength, const char *serviceName, UInt32 accountNameLength, const char *accountName, UInt32 passwordLength, const void *passwordData, SecKeychainItemRef *itemRef );

    Параметры

    keychain

    Ссылка на цепочку для ключей, в которой можно сохранить универсальный пароль. Передача NULL указать цепочку для ключей по умолчанию.

    serviceNameLength

    Длина serviceName символьная строка.

    serviceName

    UTF-8 закодировал символьную строку, представляющую имя службы.

    accountNameLength

    Длина accountName символьная строка.

    accountName

    UTF-8 закодировал символьную строку, представляющую название счета.

    passwordLength

    Длина passwordData буфер.

    passwordData

    Указатель на буфер, содержащий данные пароля, которые будут сохранены в цепочке для ключей. Прежде, чем вызвать эту функцию, выделите достаточно памяти для буфера для содержания данных, которые Вы хотите хранить.

    itemRef

    По возврату, указателю на ссылку на новый элемент цепочки для ключей. Передача NULL если Вы не хотите получать этот объект. Необходимо выделить память для этого указателя. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Код результата errSecNoDefaultKeychain указывает, что не могла быть найдена никакая цепочка для ключей по умолчанию. Код результата errSecDuplicateItem указывает, что Вы попытались добавить пароль, уже существующий в цепочке для ключей. Код результата errSecDataTooLarge указывает, что Вы попытались добавить больше данных, чем позволяется для структуры этого типа. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция добавляет новый универсальный пароль к указанной цепочке для ключей. Обязательные параметры для идентификации пароля serviceName и accountName, которые определяются с помощью приложения строки. Эта функция дополнительно возвращает ссылку на недавно добавленный элемент.

    Можно использовать эту функцию для добавления паролей для учетных записей кроме Интернета. Например, Вы могли бы добавить пароли AppleShare или пароли для Вашей базы данных или программ планирования.

    Эта функция устанавливает начальные права доступа для нового элемента цепочки для ключей так, чтобы приложению, создающему элемент, предоставили доверительный доступ.

    Эта функция автоматически вызывает функцию SecKeychainUnlock вывести на экран диалоговое окно Unlock Keychain, если в настоящее время блокируется цепочка для ключей.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Находит, что первый универсальный пароль на основе атрибутов передал.

    Объявление

    Swift

    func SecKeychainFindGenericPassword(_ keychainOrArray: AnyObject!, _ serviceNameLength: UInt32, _ serviceName: UnsafePointer<Int8>, _ accountNameLength: UInt32, _ accountName: UnsafePointer<Int8>, _ passwordLength: UnsafeMutablePointer<UInt32>, _ passwordData: UnsafeMutablePointer<UnsafeMutablePointer<Void>>, _ itemRef: UnsafeMutablePointer<Unmanaged<SecKeychainItem>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainFindGenericPassword ( CFTypeRef keychainOrArray, UInt32 serviceNameLength, const char *serviceName, UInt32 accountNameLength, const char *accountName, UInt32 *passwordLength, void **passwordData, SecKeychainItemRef *itemRef );

    Параметры

    keychainOrArray

    Ссылка на массив цепочек для ключей для поиска, единственная цепочка для ключей, или NULL для поиска цепочки для ключей пользователя по умолчанию ищут список.

    serviceNameLength

    Длина serviceName символьная строка.

    serviceName

    UTF-8 закодировал символьную строку, представляющую имя службы.

    accountNameLength

    Длина accountName символьная строка.

    accountName

    UTF-8 закодировал символьную строку, представляющую название счета.

    passwordLength

    По возврату, длине буфера, которым указывают passwordData.

    passwordData

    По возврату, указателю на буфер, содержащий данные пароля. Передача NULL если Вы хотите получить объект элемента, но не данные пароля. В этом случае необходимо также передать NULL в passwordLength параметр. Необходимо использовать SecKeychainItemFreeContent функционируйте для освобождения памяти, на которую указывает этот параметр.

    itemRef

    По возврату, указателю на объект элемента универсального пароля. Вы ответственны за выпуск Вашей ссылки на этот объект. Передача NULL если Вы не хотите получать этот объект.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция находит первый универсальный элемент пароля, соответствующий атрибуты, которые Вы обеспечиваете. Большинство атрибутов является дополнительным; необходимо передать только столько, сколько необходимо сузить поиск достаточно надлежащего использования приложения. Эта функция дополнительно возвращает ссылку на найденный элемент.

    Эта функция дешифрует пароль прежде, чем возвратить его Вам. Если вызывающее приложение не находится в списке доверяемых приложений, пользователю предлагают, прежде чем доступ предоставляется. Если средства управления доступом для этого элемента не позволяют дешифрование, функция возвращается errSecAuthFailed код результата.

    Эта функция автоматически вызывает функцию SecKeychainUnlock вывести на экран диалоговое окно Unlock Keychain, если в настоящее время блокируется цепочка для ключей.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Указывает список цепочек для ключей для использования в списке поиска цепочки для ключей по умолчанию.

    Объявление

    Swift

    func SecKeychainSetSearchList(_ searchList: CFArray!) -> OSStatus

    Objective C

    OSStatus SecKeychainSetSearchList ( CFArrayRef searchList );

    Параметры

    searchList

    Массив ссылок цепочки для ключей (типа SecKeychainRef) указание списка цепочек для ключей для использования в цепочке для ключей по умолчанию ищет список. Передача пустого массива очищает поисковый список.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Список поиска цепочки для ключей по умолчанию используется несколькими функциями; посмотрите, например, SecKeychainSearchCreateFromAttributes, SecKeychainFindInternetPassword или SecKeychainFindGenericPassword. Для получения текущего списка поиска цепочки для ключей по умолчанию используйте SecKeychainCopySearchList функция.

    Список поиска цепочки для ключей по умолчанию выведен на экран как список цепочки для ключей в утилите Keychain Access. Если Вы используете SecKeychainSetSearchList для изменения списка поиска цепочки для ключей список, выведенный на экран в Доступе Цепочки для ключей, изменяется соответственно.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Получает список поиска цепочки для ключей.

    Объявление

    Swift

    func SecKeychainCopySearchList(_ searchList: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainCopySearchList ( CFArrayRef *searchList );

    Параметры

    searchList

    По возврату возвращенная цепочка для ключей ищет список. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Создает поисковый объект, соответствующий список нуля или большего количества атрибутов.

    Объявление

    Objective C

    OSStatus SecKeychainSearchCreateFromAttributes ( CFTypeRef keychainOrArray, SecItemClass itemClass, const SecKeychainAttributeList *attrList, SecKeychainSearchRef *searchRef );

    Параметры

    keychainOrArray

    Ссылка на массив цепочек для ключей для поиска, единственная цепочка для ключей, или NULL для поиска текущей цепочки для ключей пользователя ищут список. Используйте функцию SecKeychainCopySearchList для получения значения по умолчанию пользователя ищут список.

    itemClass

    Класс элемента цепочки для ключей. Посмотрите Константы Класса Элемента Цепочки для ключей для допустимых констант.

    attrList

    Указатель на список нуля или большего количества цепочки для ключей приписывает записи на соответствие. Передача NULL соответствовать любой атрибут цепочки для ключей.

    searchRef

    По возврату, указателю на текущий поисковый объект. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Каждый элемент, сохраненный в цепочке для ключей, содержит данные (такие как сертификат), который индексируется атрибутами элемента. Вы ищете элемент в цепочке для ключей ее атрибутами. При нахождении соответствия можно тогда получить данные элемента. Используйте поисковый объект, создаваемый этой функцией, как введено к SecKeychainSearchCopyNext функционируйте для нахождения элемента цепочки для ключей и SecKeychainItemCopyAttributesAndData функция для получения данных элемента.

    Чтобы найти и получить данные из элемента цепочки для ключей пароля, используйте SecKeychainFindInternetPassword или SecKeychainFindGenericPassword функция.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Находит следующий элемент цепочки для ключей, соответствующий данные критерии поиска.

    Объявление

    Objective C

    OSStatus SecKeychainSearchCopyNext ( SecKeychainSearchRef searchRef, SecKeychainItemRef *itemRef );

    Параметры

    searchRef

    Ссылка на текущие критерии поиска. Поисковый объект создается в SecKeychainSearchCreateFromAttributes функционируйте и должен быть выпущен путем вызова CFRelease функционируйте, когда Вы будете сделаны с ним.

    itemRef

    По возврату, указателю на объект элемента цепочки для ключей следующего элемента цепочки для ключей соответствия, если таковые имеются. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Когда больше нет элементов того соответствия, errSecItemNotFound возвращается. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Каждый элемент, сохраненный в цепочке для ключей, содержит данные (такие как сертификат), который индексируется атрибутами элемента. Используйте SecKeychainSearchCreateFromAttributes функция для указания атрибутов для поиска. Если SecKeychainSearchCopyNext функция находит соответствие, можно использовать SecKeychainItemCopyAttributesAndData функция для получения данных элемента.

    A SecKeychainItemRef объект для сертификата, который сохранен в цепочке для ключей, может быть безопасно брошен к a SecCertificateRef для использования с Сертификатом, Ключом и Доверием API.

    Чтобы найти и получить данные из элемента цепочки для ключей пароля, используйте SecKeychainFindInternetPassword или SecKeychainFindGenericPassword функция.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Создает новый элемент цепочки для ключей из предоставленных параметров.

    Объявление

    Swift

    func SecKeychainItemCreateFromContent(_ itemClass: SecItemClass, _ attrList: UnsafeMutablePointer<SecKeychainAttributeList>, _ length: UInt32, _ data: UnsafePointer<Void>, _ keychainRef: SecKeychain!, _ initialAccess: SecAccess!, _ itemRef: UnsafeMutablePointer<Unmanaged<SecKeychainItem>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemCreateFromContent ( SecItemClass itemClass, SecKeychainAttributeList *attrList, UInt32 length, const void *data, SecKeychainRef keychainRef, SecAccessRef initialAccess, SecKeychainItemRef *itemRef );

    Параметры

    itemClass

    Постоянная идентификация класса элемента для создания. Посмотрите Константы Класса Элемента Цепочки для ключей для допустимых констант.

    attrList

    Указатель на список атрибутов для элемента для создания.

    length

    Длина буфера, на который указывают data параметр.

    data

    Указатель на буфер, содержащий данные для хранения.

    keychainRef

    Ссылка на цепочку для ключей, в которой можно добавить элемент. Передача NULL указать цепочку для ключей по умолчанию.

    initialAccess

    Объект доступа для этого элемента цепочки для ключей. Используйте SecAccessCreate функция для создания доступа возражает или SecKeychainItemCopyAccess функционируйте для копирования объекта доступа с другого элемента цепочки для ключей. Если Вы передаете NULL для этого параметра, значений по умолчанию доступа к приложению, создающему элемент.

    itemRef

    По возврату, указателю на ссылку на недавно создаваемый элемент цепочки для ключей. Этот параметр является дополнительным. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Каждый элемент, сохраненный в цепочке для ключей, содержит данные (такие как сертификат), который индексируется атрибутами элемента. Используйте эту функцию для создания элемента цепочки для ключей из его атрибутов и данных. Для создания элементов цепочки для ключей, содержащих пароли используйте SecKeychainAddInternetPassword или SecKeychainAddGenericPassword функции.

    A SecKeychainItemRef объект для сертификата, который сохранен в цепочке для ключей, может быть безопасно брошен к a SecCertificateRef для использования с Сертификатом, Ключом и Доверием API.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Копирует элемент цепочки для ключей от одной цепочки для ключей до другого.

    Объявление

    Swift

    func SecKeychainItemCreateCopy(_ itemRef: SecKeychainItem!, _ destKeychainRef: SecKeychain!, _ initialAccess: SecAccess!, _ itemCopy: UnsafeMutablePointer<Unmanaged<SecKeychainItem>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemCreateCopy ( SecKeychainItemRef itemRef, SecKeychainRef destKeychainRef, SecAccessRef initialAccess, SecKeychainItemRef *itemCopy );

    Параметры

    itemRef

    Ссылка на элемент цепочки для ключей для копирования.

    destKeychainRef

    Ссылка на цепочку для ключей, в которую можно вставить скопированный элемент цепочки для ключей. Передача NULL указать цепочку для ключей по умолчанию.

    initialAccess

    Начальный доступ для скопированного элемента цепочки для ключей. Используйте SecAccessCreate функция для создания доступа возражает или SecKeychainItemCopyAccess функционируйте для копирования объекта доступа с другого элемента цепочки для ключей. Если Вы передаете NULL для этого параметра, значений по умолчанию доступа к приложению, создающему элемент.

    itemCopy

    По возврату, указателю на копию элемента цепочки для ключей, на который ссылаются itemRef параметр. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

    См. также

    SecKeychainSearchCopyNext

  • Создает персистентную ссылку для элемента цепочки для ключей.

    Объявление

    Swift

    func SecKeychainItemCreatePersistentReference(_ itemRef: SecKeychainItem!, _ persistentItemRef: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemCreatePersistentReference ( SecKeychainItemRef itemRef, CFDataRef *persistentItemRef );

    Параметры

    itemRef

    Ссылка элемента цепочки для ключей для элемента, для которого Вы хотите персистентную ссылку.

    persistentItemRef

    По возврату, персистентной ссылке для элемента цепочки для ключей. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    В отличие от нормальных ссылок, персистентная ссылка может быть сохранена на диске или передана между процессами. Можно преобразовать персистентную ссылку в обычную ссылку элемента цепочки для ключей (SecKeychainItemRef) путем вызова SecKeychainItemCopyFromPersistentReference функция.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.6 и позже.

  • Обеспечивает ссылку элемента цепочки для ключей, учитывая персистентную ссылку.

    Объявление

    Swift

    func SecKeychainItemCopyFromPersistentReference(_ persistentItemRef: CFData!, _ itemRef: UnsafeMutablePointer<Unmanaged<SecKeychainItem>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemCopyFromPersistentReference ( CFDataRef persistentItemRef, SecKeychainItemRef *itemRef );

    Параметры

    persistentItemRef

    Персистентная ссылка для элемента цепочки для ключей.

    itemRef

    По возврату, ссылке элемента цепочки для ключей для элемента, для которого Вы обеспечили персистентную ссылку. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Персистентная ссылка может быть сохранена на диске или передана между процессами. Вы используете SecKeychainItemCreatePersistentReference функция для создания персистентной ссылки.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.6 и позже.

  • Удаляет элемент цепочки для ключей из постоянного хранилища данных цепочки для ключей по умолчанию.

    Объявление

    Swift

    func SecKeychainItemDelete(_ itemRef: SecKeychainItem!) -> OSStatus

    Objective C

    OSStatus SecKeychainItemDelete ( SecKeychainItemRef itemRef );

    Параметры

    itemRef

    Объект элемента цепочки для ключей элемента удалить. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Если элемент цепочки для ключей не был ранее добавлен к цепочке для ключей, эта функция не делает ничего и возвратов noErr.

    Не удаляйте элемент цепочки для ключей и воссоздавайте его для изменения его; вместо этого, используйте SecKeychainItemModifyContent или SecKeychainItemModifyAttributesAndData функция для изменения существующего элемента цепочки для ключей. При удалении элемента цепочки для ключей Вы теряете любые средства управления доступом и доверяете настройкам, добавленным пользователем или другими приложениями.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Экспорт один или несколько сертификатов, ключи или идентификационные данные.

    Объявление

    Swift

    func SecItemExport(_ secItemOrArray: AnyObject!, _ outputFormat: SecExternalFormat, _ flags: SecItemImportExportFlags, _ keyParams: UnsafePointer<SecItemImportExportKeyParameters>, _ exportedData: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus SecItemExport ( CFTypeRef secItemOrArray, SecExternalFormat outputFormat, SecItemImportExportFlags flags, const SecItemImportExportKeyParameters *keyParams, CFDataRef *exportedData );

    Параметры

    secItemOrArray

    Элемент цепочки для ключей или элементы для экспорта. Можно экспортировать только следующие типы элементов цепочки для ключей: SecCertificateRef, SecKeyRef, и SecIdentityRef. При экспорте точно одного элемента можно указать a SecKeychainItemRef объект. Иначе этот параметр является a CFArrayRef объект, содержащий много элементов типа SecKeychainItemRef.

    outputFormat

    Формат желаемого внешнего представления для элемента. Установите этот параметр на kSecFormatUnknown использовать значение по умолчанию для того типа изделия. Возможные значения для этого значения параметров и значения по умолчанию перечисляются в Импорте/Форматах экспорта Элемента Цепочки для ключей.

    flags

    Поле признака, указывающее, должен ли экспортируемый элемент иметь броню PEM. Броня PEM именует способ выразить двоичных данных как строку ASCII так, чтобы она могла быть передана по каналам только для текста, таким как электронная почта. Установите этот флаг в kSecItemPemArmour если Вы хотите бронирование PEM.

    keyParams

    Указатель на структуру, содержащую ряд входных параметров для функции. Если никакие ключевые элементы не экспортируются, эти параметры дополнительные, и можно установить keyParams параметр к NULL. Для получения дополнительной информации посмотрите SecItemImportExportKeyParameters.

    exportedData

    По возврату переменная, на которую ссылается этот параметр, перезаписывается с a CFDataRef объект, содержащий внешнее представление элемента цепочки для ключей или элементов. Вы ответственны за выпуск этого объекта путем вызова CFRelease.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция работает только с ключами, сертификатами и идентификационными данными. Идентификационные данные являются комбинацией сертификата и его связанного закрытого ключа. Несмотря на то, что открытые ключи обычно сохранены в сертификатах, они могут быть сохранены отдельно в цепочке для ключей также; например, когда Вы вызываете SecKeyCreatePair функция для создания пары ключей, и открытые и закрытые ключи сохранена в цепочке для ключей. Используйте SecKeychainSearchCopyNext функционируйте для нахождения ключа или сертификата. Используйте SecIdentitySearchCopyNext функция в Сертификате, Ключе и Доверии API для нахождения идентификационных данных.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Экспорт один или несколько сертификатов, ключи или идентификационные данные.

    Объявление

    Objective C

    OSStatus SecKeychainItemExport ( CFTypeRef keychainItemOrArray, SecExternalFormat outputFormat, SecItemImportExportFlags flags, const SecKeyImportExportParameters *keyParams, CFDataRef *exportedData );

    Параметры

    keychainItemOrArray

    Элемент цепочки для ключей или элементы для экспорта. Можно экспортировать только следующие типы элементов цепочки для ключей: SecCertificateRef, SecKeyRef, и SecIdentityRef. При экспорте точно одного элемента можно указать a SecKeychainItemRef объект. Иначе этот параметр является a CFArrayRef объект, содержащий много элементов типа SecKeychainItemRef.

    outputFormat

    Формат желаемого внешнего представления для элемента. Установите этот параметр на kSecFormatUnknown использовать значение по умолчанию для того типа изделия. Возможные значения для этого значения параметров и значения по умолчанию перечисляются в Импорте/Форматах экспорта Элемента Цепочки для ключей.

    flags

    Флаг, указывающий, должен ли экспортируемый элемент иметь броню PEM. Броня PEM именует способ выразить двоичных данных как строку ASCII так, чтобы она могла быть передана по каналам только для текста, таким как электронная почта. Установите этот флаг в kSecItemPemArmour если Вы хотите бронирование PEM.

    keyParams

    Указатель на структуру, содержащую ряд входных параметров для функции. Если никакие ключевые элементы не экспортируются, эти параметры дополнительные, и можно установить keyParams параметр к NULL.

    exportedData

    По возврату, точкам к внешнему представлению элемента цепочки для ключей или элементов.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция работает только с ключами, сертификатами и идентификационными данными. Идентификационные данные являются комбинацией сертификата и его связанного закрытого ключа. Несмотря на то, что открытые ключи обычно сохранены в сертификатах, они могут быть сохранены отдельно в цепочке для ключей также; например, когда Вы вызываете SecKeyCreatePair функция для создания пары ключей, и открытые и закрытые ключи сохранена в цепочке для ключей. Используйте SecKeychainSearchCopyNext функционируйте для нахождения ключа или сертификата. Используйте SecIdentitySearchCopyNext функция в Сертификате, Ключе и Доверии API для нахождения идентификационных данных.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecItemExport вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Преобразовывает внешнее представление элемента цепочки для ключей или элементов в SecKeychainItem объекты и дополнительно импортируют их в указанную цепочку для ключей.

    Объявление

    Swift

    func SecItemImport(_ importedData: CFData!, _ fileNameOrExtension: CFString!, _ inputFormat: UnsafeMutablePointer<SecExternalFormat>, _ itemType: UnsafeMutablePointer<SecExternalItemType>, _ flags: SecItemImportExportFlags, _ keyParams: UnsafePointer<SecItemImportExportKeyParameters>, _ importKeychain: SecKeychain!, _ outItems: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecItemImport ( CFDataRef importedData, CFStringRef fileNameOrExtension, SecExternalFormat *inputFormat, SecExternalItemType *itemType, SecItemImportExportFlags flags, const SecItemImportExportKeyParameters *keyParams, SecKeychainRef importKeychain, CFArrayRef *outItems );

    Параметры

    importedData

    A CFDataRef объект, содержащий данные для импорта.

    fileNameOrExtension

    Дополнительный. Имя файла, из которого внешнее представление было ранее считано, или если это неизвестно, то расширение файла (.p7r, например). Это служит подсказкой для формата ключа и ключевого кода обнаружения типа.

    inputFormat

    Дополнительный. Адрес a SecExternalFormat переменная.

    Если Вы знаете то, что форматирует внешнее представление, находится в, необходимо установить начальное значение этой переменной к надлежащему постоянному формату (Импорт/Форматы экспорта Элемента Цепочки для ключей), чтобы избавить от необходимости обнаруживать формат. В противном случае установите его в kSecFormatUnknown.

    По возврату переменная, на которую ссылается этот параметр, установлена в формат, который фактически обнаружила функция.

    Передача NULL если Вы не знаете и не заботитесь о том, что форматирует внешнее представление, находится в.

    itemType

    Дополнительный. Адрес a SecExternalItemType переменная.

    Прежде, чем вызвать эту функцию, если Вы знаете, какой включают внешнее представление, содержит, необходимо установить переменную в надлежащий постоянный тип (Тип изделия Цепочки для ключей При Импорте), чтобы избавить от необходимости обнаруживать ключевой тип. В противном случае установите его в kSecItemTypeUnknown.

    По возврату переменная, на которую ссылается этот параметр, установлена в тип ключа, который фактически обнаружила функция.

    Передача NULL если Вы не знаете и не заботитесь о том, что ключевой тип содержит внешнее представление.

    flags

    Ряд флагов импорта (Флаги Импорта/Экспорта Элемента Цепочки для ключей).

    Обратите внимание на то, что форматирование PEM определяется внутренне через проверку входящих данных, таким образом, kSecItemPemArmour флаг проигнорирован.

    keyParams

    Указатель на структуру, содержащую ряд входных параметров для функции. Для получения дополнительной информации посмотрите SecItemImportExportKeyParameters.

    importKeychain

    Дополнительный. Цепочка для ключей, в которую должен быть импортирован элемент. Передача NULL если Вы не хотите импортировать элемент в цепочку для ключей.

    outItems

    Дополнительный. Адрес a CFArrayRef переменная, что, по возврату, будет содержать список элементов цепочки для ключей. Передача NULL если Вы не хотите копию этих элементов.

    По возврату переменная, на которую ссылаются, перезаписывается новым CFArrayRef содержащий массив SecKeychainItem объекты, каждый из которых может быть a SecCertificateRef, SecKeyRef, или SecIdentityRef объект. Вызывающая сторона ответственна за выпуск этого CFArrayRef объект.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    SecItemImport функционируйте использует fileNameOrExtension, inputFormat, и itemType параметры, чтобы помочь ему интерпретировать входящие данные. В большинстве случаев, SecItemImport может правильно интерпретировать внешний элемент, если ни один из них не указан, но неблагоразумно для приложения рассчитывать на ту возможность.

    Когда выходной тип изделия kSecItemTypeAggregate, можно использовать CFGetTypeID функция для определения Базового типа Основы каждого элемента и функций в Получении информации О Keychain Services и Типах для определения типа изделия цепочки для ключей каждого элемента. Например, следующий код определяет, является ли элемент сертификатом:

    • CFTypeID theID = CFGetTypeID(theItem);
    • if (SecCertificateGetTypeID() == theID)

    Можно передать в NULL для обоих outItems и importKeychain определить, что в данном внешнем представлении данных. Когда Вы делаете, функция возвращает формат ввода и тип изделия, не изменяя данные всегда.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Импорт один или несколько сертификатов, ключи или идентификационные данные и добавляет их к цепочке для ключей.

    Объявление

    Objective C

    OSStatus SecKeychainItemImport ( CFDataRef importedData, CFStringRef fileNameOrExtension, SecExternalFormat *inputFormat, SecExternalItemType *itemType, SecItemImportExportFlags flags, const SecKeyImportExportParameters *keyParams, SecKeychainRef importKeychain, CFArrayRef *outItems );

    Параметры

    importedData

    Внешнее представление элементов для импорта.

    fileNameOrExtension

    Имя или расширение файла, из которого было получено внешнее представление. Передача NULL если Вы не знаете имя или расширение.

    inputFormat

    На записи, точках к формату внешнего представления. Передача kSecFormatUnknown если Вы не знаете точный формат. По возврату, точкам к формату, что функция определила внешнее представление, чтобы быть в. Передача NULL если Вы не знаете формат и не хотите формат, возвращенный Вам. Для списка форматов посмотрите Импорт/Форматы экспорта Элемента Цепочки для ключей.

    itemType

    На записи, точках к типу изделия элемента или элементов, содержавшихся во внешнем представлении. Передача kSecItemTypeUnknown если Вы не знаете тип изделия. По возврату, точкам к типу изделия, что функция определила внешнее представление для содержания. Передача NULL если Вы не знаете тип изделия и не хотите тип, возвращенный Вам.

    flags

    Неиспользованный; передача в 0.

    keyParams

    Указатель на структуру, содержащую ряд входных параметров для функции. Если никакие ключевые элементы не импортируются, эти параметры дополнительные, и можно установить keyParams параметр к NULL. Если Вы передаете NULL для importKeychain параметр, kSecKeyImportOnlyOne бит в flags поле SecKeyImportExportParameters структура проигнорирована. Иначе, если kSecKeyImportOnlyOne бит установлен и существует больше чем один закрытый ключ во входящем внешнем представлении, никакие элементы не импортируются в указанную цепочку для ключей и ошибку errSecMultiplePrivKeys возвращается. Возможные значения для flags поле описано во Флагах Параметра Импорта/Экспорта Элемента Цепочки для ключей.

    importKeychain

    Указание объекта цепочки для ключей цепочки для ключей, в которую должны быть импортированы ключ или сертификат. Если Вы передаете NULL, элемент не импортируется. Используйте SecKeychainCopyDefault функция для получения ссылки на цепочку для ключей по умолчанию.

    outItems

    По возврату, точкам к массиву SecKeychainItemRef объекты для импортированных элементов. Необходимо обеспечить допустимый указатель на a CFArrayRef объект получить эту информацию. Если Вы передаете NULL для этого параметра функция не возвращает импортированные элементы. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Когда Вы передаете эту функцию a CFDataRef объект, содержащий внешнее представление одного или более ключей, сертификатов или идентификационных данных, SecKeychainItemImport попытки определить формат и содержание данных. Чтобы гарантировать, что этот процесс успешен, необходимо указать значения для один или больше параметров fileNameOrExtension, inputFormat, и itemType. Для имения функции добавляют импортированные элементы к цепочке для ключей, указывают не -NULL значение для importKeychain параметр. Иметь функциональный возврат SecKeychainItemRef объекты для импортированных элементов, укажите не -NULL значение для outItems параметр.

    Поскольку SecKeychainItemImport функция определяет, является ли элемент PEM, бронируемым путем проверки данных, flags параметр не используется в вызывании этой функции.

    После функциональных возвратов можно решить, что природа элементов цепочки для ключей от значений возвратилась в inputFormat и itemType параметры. В зависимости от природы каждого элемента, как только это импортируется в цепочку для ключей, которую можно безопасно бросить SecKeychainItemRef возразите против a SecKeyRef, SecCertificateRef, или SecIdentityRef объект.

    Обратите внимание на то, что, когда Вы импортируете данные в формате PKCS12, обычно один SecIdentityRef объект возвращается в outItems параметр. Данные могли бы также включать один или больше SecCertificateRef объекты. Выходные данные не будут включать никого SecKeyRef объекты, если входящие данные не включают ключ без соответствия сертификата.

    Когда выходной тип изделия kSecItemTypeAggregate, можно использовать CFGetTypeID функция для определения Базового типа Основы каждого элемента и функций в Получении информации О Keychain Services и Типах для определения типа изделия цепочки для ключей каждого элемента. Например, следующий код определяет, является ли элемент сертификатом:

    • CFTypeID theID = CFGetTypeID(theItem);
    • if (SecCertificateGetTypeID() == theID)

    Можно передать в NULL для обоих outItems и importKeychain определить, что в данном внешнем представлении данных. Когда Вы делаете, функция возвращает формат ввода и тип изделия, не изменяя данные всегда.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecItemImport вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Получает данные и/или приписывает сохраненный в данном элементе цепочки для ключей.

    Объявление

    Swift

    func SecKeychainItemCopyAttributesAndData(_ itemRef: SecKeychainItem!, _ info: UnsafeMutablePointer<SecKeychainAttributeInfo>, _ itemClass: UnsafeMutablePointer<SecItemClass>, _ attrList: UnsafeMutablePointer<UnsafeMutablePointer<SecKeychainAttributeList>>, _ length: UnsafeMutablePointer<UInt32>, _ outData: UnsafeMutablePointer<UnsafeMutablePointer<Void>>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemCopyAttributesAndData ( SecKeychainItemRef itemRef, SecKeychainAttributeInfo *info, SecItemClass *itemClass, SecKeychainAttributeList **attrList, UInt32 *length, void **outData );

    Параметры

    itemRef

    Ссылка на элемент цепочки для ключей, от которого Вы хотите получить данные или атрибуты.

    info

    Указатель на список тегов и форматы атрибутов для получения. Можно вызвать SecKeychainAttributeInfoForItemID получить список всех возможных тегов атрибута и форматов для класса элемента. Передача NULL если Вы не хотите получать какие-либо атрибуты.

    itemClass

    По возврату, классу элемента. Передача NULL если не требуемый. Посмотрите Константы Класса Элемента Цепочки для ключей для допустимых констант.

    attrList

    По возврату, полученным атрибутам и их значениям. Передача NULL если не требуемый. Необходимо вызвать функцию SecKeychainItemFreeAttributesAndData когда Вам больше не нужны атрибуты и значения.

    length

    По возврату фактическая длина данных возвратилась в outData параметр.

    outData

    По возврату, данным в этом элементе. Передача NULL если не требуемый. Необходимо вызвать функцию SecKeychainItemFreeAttributesAndData когда Вам больше не нужны данные.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция возвращает данные и атрибуты определенного элемента цепочки для ключей.

    Можно использовать SecKeychainSearchCopyNext функционируйте для поиска элемента цепочки для ключей, если у Вас уже нет ссылочного объекта элемента. Чтобы найти и получить данные из элемента цепочки для ключей пароля, используйте SecKeychainFindInternetPassword или SecKeychainFindGenericPassword функция.

    Необходимо соединиться SecKeychainItemCopyAttributesAndData функция с SecKeychainItemModifyAttributesAndData функция, поскольку эти функции обрабатывают больше атрибутов, чем, является поддержкой старым менеджером по Цепочке для ключей, и передача их в более старые вызовы приводит к недопустимой ошибке атрибута. Используйте функции SecKeychainItemModifyContent и SecKeychainItemCopyContent при контакте с менеджером по Цепочке для ключей старшего возраста функций.

    Если данные элемента цепочки для ключей шифруются, эта функция дешифрует данные прежде, чем возвратить их Вам. Если вызывающее приложение не находится в списке доверяемых приложений, пользователю предлагают, прежде чем доступ предоставляется. Если средства управления доступом для этого элемента не позволяют дешифрование, функция возвращается errSecAuthFailed код результата.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Обновляет существующий элемент цепочки для ключей после изменения его атрибутов или данных.

    Объявление

    Swift

    func SecKeychainItemModifyAttributesAndData(_ itemRef: SecKeychainItem!, _ attrList: UnsafePointer<SecKeychainAttributeList>, _ length: UInt32, _ data: UnsafePointer<Void>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemModifyAttributesAndData ( SecKeychainItemRef itemRef, const SecKeychainAttributeList *attrList, UInt32 length, const void *data );

    Параметры

    itemRef

    Ссылка на элемент цепочки для ключей для изменения.

    attrList

    Указатель на список атрибутов для изменения и их новые значения. Передача NULL если у Вас нет потребности изменить атрибуты.

    length

    Длина буфера, на который указывают data параметр. Передача 0 если Вы передаете NULL в data параметр.

    data

    Указатель на буфер, содержащий данные для хранения. Передача NULL если Вы не должны изменять данные.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Элемент цепочки для ключей записан в постоянное хранилище данных цепочки для ключей. Если элемент цепочки для ключей не был ранее добавлен к цепочке для ключей, вызов к этой функции не делает ничего и возвратов noErr.

    Обратите внимание на то, что при использовании этой функции для изменения элемента цепочки для ключей, Keychain Services обновляет дату модификации элемента. Поэтому Вы не можете использовать эту функцию для изменения даты модификации, поскольку значение, которое Вы указываете, будет перезаписано с текущим временем. Если Вы хотите изменить дату модификации на что-то другое, чем текущее время, используйте функцию CSSM, чтобы сделать так.

    Необходимо соединиться SecKeychainItemCopyAttributesAndData функция с SecKeychainItemModifyAttributesAndData функция, поскольку эти функции обрабатывают больше атрибутов, чем, является поддержкой старым менеджером по Цепочке для ключей, и передача их в более старые вызовы приводит к недопустимой ошибке атрибута. Используйте функции SecKeychainItemModifyContent и SecKeychainItemCopyContent при контакте с менеджером по Цепочке для ключей старшего возраста функций.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Выпускает память, используемую списком атрибутов цепочки для ключей и/или полученными данными цепочки для ключей в вызове к SecKeychainItemCopyAttributesAndData.

    Объявление

    Swift

    func SecKeychainItemFreeAttributesAndData(_ attrList: UnsafeMutablePointer<SecKeychainAttributeList>, _ data: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemFreeAttributesAndData ( SecKeychainAttributeList *attrList, void *data );

    Параметры

    attrList

    Указатель на список атрибутов для выпуска. Передача NULL если нет никакого списка атрибутов для выпуска.

    data

    Указатель на буфер данных для выпуска. Передача NULL при отсутствии данных для выпуска.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Копирует данные и приписывает сохраненный в данном элементе цепочки для ключей.

    Объявление

    Swift

    func SecKeychainItemCopyContent(_ itemRef: SecKeychainItem!, _ itemClass: UnsafeMutablePointer<SecItemClass>, _ attrList: UnsafeMutablePointer<SecKeychainAttributeList>, _ length: UnsafeMutablePointer<UInt32>, _ outData: UnsafeMutablePointer<UnsafeMutablePointer<Void>>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemCopyContent ( SecKeychainItemRef itemRef, SecItemClass *itemClass, SecKeychainAttributeList *attrList, UInt32 *length, void **outData );

    Параметры

    itemRef

    Ссылка на элемент цепочки для ключей для изменения.

    itemClass

    По возврату, точкам к классу элемента. Передача NULL если это не требуется. Посмотрите Константы Класса Элемента Цепочки для ключей для допустимых констант.

    attrList

    На записи, списке атрибутов для входа этот элемент; по возврату атрибуты заполнены в. Передача NULL если Вы не должны получать атрибуты. Необходимо вызвать SecKeychainItemFreeContent когда Вам больше не нужны атрибуты и данные.

    length

    По возврату, длине буфера, на который указывают outData параметр.

    outData

    По возврату, указателю на буфер, содержащий данные в этом элементе. Передача NULL если Вам не нужны эти данные. Необходимо вызвать SecKeychainItemFreeContent когда Вам больше не нужны атрибуты и данные.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция возвращает данные и атрибуты определенного элемента цепочки для ключей.

    Можно использовать SecKeychainSearchCopyNext функционируйте для поиска элемента цепочки для ключей, если у Вас уже нет ссылочного объекта элемента. Чтобы найти и получить данные из элемента цепочки для ключей пароля, используйте SecKeychainFindInternetPassword или SecKeychainFindGenericPassword функция.

    Необходимо соединиться SecKeychainItemModifyContent функция с SecKeychainItemCopyContent функционируйте при контакте с менеджером по Цепочке для ключей старшего возраста функций. SecKeychainItemCopyAttributesAndData и SecKeychainItemModifyAttributesAndData функции обрабатывают больше атрибутов, чем поддерживается старым менеджером по Цепочке для ключей; однако, передача их в более старые вызовы приводит к недопустимой ошибке атрибута.

    Если данные элемента цепочки для ключей шифруются, эта функция дешифрует данные прежде, чем возвратить их Вам. Если вызывающее приложение не находится в списке доверяемых приложений, пользователю предлагают, прежде чем доступ предоставляется. Если средства управления доступом для этого элемента не позволяют дешифрование, функция возвращается errSecAuthFailed код результата.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Обновляет существующий элемент цепочки для ключей после изменения его атрибутов и/или данных.

    Объявление

    Swift

    func SecKeychainItemModifyContent(_ itemRef: SecKeychainItem!, _ attrList: UnsafePointer<SecKeychainAttributeList>, _ length: UInt32, _ data: UnsafePointer<Void>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemModifyContent ( SecKeychainItemRef itemRef, const SecKeychainAttributeList *attrList, UInt32 length, const void *data );

    Параметры

    itemRef

    Ссылка на элемент цепочки для ключей для изменения.

    attrList

    Указатель на список атрибутов для установки и их новые значения. Передача NULL если у Вас нет потребности изменить атрибуты.

    length

    Длина буфера, на который указывают data параметр. Передача 0 если Вы передаете NULL в data параметр.

    data

    Указатель на буфер, содержащий данные для хранения. Передача NULL если Вы не должны изменять данные.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Элемент цепочки для ключей записан в постоянное хранилище данных цепочки для ключей.

    Если элемент цепочки для ключей не был ранее добавлен к цепочке для ключей, вызов к этой функции не делает ничего и возвратов noErr.

    Обратите внимание на то, что при использовании этой функции для изменения элемента цепочки для ключей, Keychain Services обновляет дату модификации элемента. Поэтому Вы не можете использовать эту функцию для изменения даты модификации, поскольку значение, которое Вы указываете, будет перезаписано с текущим временем. Если Вы хотите изменить дату модификации на что-то другое, чем текущее время, используйте функцию CSSM, чтобы сделать так.

    Необходимо соединиться SecKeychainItemModifyContent функция с SecKeychainItemCopyContent функционируйте при контакте с менеджером по Цепочке для ключей старшего возраста функций. SecKeychainItemCopyAttributesAndData и SecKeychainItemModifyAttributesAndData функции обрабатывают больше атрибутов, чем поддержка старым менеджером по Цепочке для ключей; однако, передача их в более старые вызовы приводит к недопустимой ошибке атрибута.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Выпускает память, используемую списком атрибутов цепочки для ключей и полученными данными цепочки для ключей в вызове к SecKeychainItemCopyContent функция.

    Объявление

    Swift

    func SecKeychainItemFreeContent(_ attrList: UnsafeMutablePointer<SecKeychainAttributeList>, _ data: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemFreeContent ( SecKeychainAttributeList *attrList, void *data );

    Параметры

    attrList

    Указатель на список атрибутов для выпуска. Передача NULL если нет никакого списка атрибутов для выпуска.

    data

    Указатель на буфер данных для выпуска. Передача NULL при отсутствии данных для выпуска.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Поскольку SecKeychainFindInternetPassword и SecKeychainFindGenericPassword функции вызывают SecKeychainItemCopyContent функция, необходимо вызвать SecKeychainItemFreeContent выпускать буферы данных после вызовов к тем функциям также.

    Поскольку SecKeychainItemCopyContent функция не выделяет буферы, пока они не необходимы, Вы не должны вызывать SecKeychainItemFreeContent функционируйте, если данные фактически не возвращаются Вам.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Получает теги для всех возможных атрибутов данного класса элемента.

    Объявление

    Swift

    func SecKeychainAttributeInfoForItemID(_ keychain: SecKeychain!, _ itemID: UInt32, _ info: UnsafeMutablePointer<UnsafeMutablePointer<SecKeychainAttributeInfo>>) -> OSStatus

    Objective C

    OSStatus SecKeychainAttributeInfoForItemID ( SecKeychainRef keychain, UInt32 itemID, SecKeychainAttributeInfo **info );

    Параметры

    keychain

    Объект цепочки для ключей.

    itemID

    Идентификатор отношения тегов элемента. itemID a CSSM_DB_RECORDTYPE тип, как определено в cssmtype.h.

    info

    По возврату, указателю на информацию атрибута цепочки для ключей. Ваше приложение должно вызвать SecKeychainFreeAttributeInfo функционируйте для выпуска этой структуры, когда сделано с ним.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Этот вызов возвращает больше атрибутов, чем поддерживается старой Цепочкой для ключей стиля, API и передача их в более старые вызовы приводят к недопустимой ошибке атрибута. Рекомендуемый вызов для получения значений атрибута SecKeychainItemCopyAttributesAndData функция.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Выпускает память, полученную путем вызова SecKeychainAttributeInfoForItemID функция.

    Объявление

    Swift

    func SecKeychainFreeAttributeInfo(_ info: UnsafeMutablePointer<SecKeychainAttributeInfo>) -> OSStatus

    Objective C

    OSStatus SecKeychainFreeAttributeInfo ( SecKeychainAttributeInfo *info );

    Параметры

    info

    Указатель на информацию атрибута цепочки для ключей для выпуска.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Возвращает объект цепочки для ключей данного элемента цепочки для ключей.

    Объявление

    Swift

    func SecKeychainItemCopyKeychain(_ itemRef: SecKeychainItem!, _ keychainRef: UnsafeMutablePointer<Unmanaged<SecKeychain>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemCopyKeychain ( SecKeychainItemRef itemRef, SecKeychainRef *keychainRef );

    Параметры

    itemRef

    Объект элемента цепочки для ключей.

    keychainRef

    По возврату, указателю на объект цепочки для ключей ссылка на данный элемент цепочки для ключей. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Устанавливает доступ данного элемента цепочки для ключей.

    Объявление

    Swift

    func SecKeychainItemSetAccess(_ itemRef: SecKeychainItem!, _ access: SecAccess!) -> OSStatus

    Objective C

    OSStatus SecKeychainItemSetAccess ( SecKeychainItemRef itemRef, SecAccessRef access );

    Параметры

    itemRef

    Ссылка на элемент цепочки для ключей.

    access

    Объект доступа заменить текущий объект доступа элемента цепочки для ключей. Используйте SecAccessCreate функция для создания объекта доступа.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Каждый защищенный элемент цепочки для ключей (такой как пароль или закрытый ключ) имеет связанный объект доступа. Объект доступа содержит записи списка управления доступом (ACL), указывающие доверяемые приложения и операции, для которых доверяют тем операциям. Когда приложение пытается получить доступ к элементу цепочки для ключей для конкретной цели (например, для подписания документа), система определяет, доверено ли то приложение для доступа к элементу с этой целью. Если этому доверяют, то приложению предоставляют, доступ и никакое пользовательское подтверждение требуются. Если приложению не доверяют, но существует запись ACL для той работы, то пользователя просят подтвердить, нужно ли приложению предоставить доступ. Если нет никакой записи ACL для той работы, то доступ запрещен, и это до вызывающего приложения, чтобы попробовать что-то еще или уведомить пользователя.

    Для получения дополнительной информации о записях ACL, посмотрите SecACLCreateFromSimpleContents функция.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Копирует доступ данного элемента цепочки для ключей.

    Объявление

    Swift

    func SecKeychainItemCopyAccess(_ itemRef: SecKeychainItem!, _ access: UnsafeMutablePointer<Unmanaged<SecAccess>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainItemCopyAccess ( SecKeychainItemRef itemRef, SecAccessRef *access );

    Параметры

    itemRef

    Ссылка на элемент цепочки для ключей.

    access

    По возврату, точкам к объекту доступа элемента цепочки для ключей. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Каждый защищенный элемент цепочки для ключей (такой как пароль или закрытый ключ) имеет связанный объект доступа. Объект доступа содержит записи списка управления доступом (ACL), указывающие доверяемые приложения и операции, для которых доверяют тем операциям. Можно использовать эту функцию вместе с SecKeychainItemSetAccess функционируйте для копирования средств управления доступом от одного элемента цепочки для ключей до другого. Можно использовать функции в разделе Managing Access Control List Objects для изменения содержания объекта доступа.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Создает новый объект доступа.

    Объявление

    Swift

    func SecAccessCreate(_ descriptor: CFString!, _ trustedlist: CFArray!, _ accessRef: UnsafeMutablePointer<Unmanaged<SecAccess>?>) -> OSStatus

    Objective C

    OSStatus SecAccessCreate ( CFStringRef descriptor, CFArrayRef trustedlist, SecAccessRef *accessRef );

    Параметры

    descriptor

    A CFString объект, представляющий имя элемента цепочки для ключей, как это должно появиться в настройках безопасности. Обратите внимание на то, что это - не обязательно то же имя, как появляется для того элемента в приложении Доступа Цепочки для ключей.

    trustedlist

    Ссылка на массив доверяемых объектов приложения (значения типа SecTrustedApplicationRef) указание, каким приложениям нужно позволить получить доступ к элементу, не инициировав диалоговые окна подтверждения. Используйте SecTrustedApplicationCreateFromPath функция для создания объектов приложения, которым доверяют. Если Вы передаете NULL для этого параметра список управления доступом автоматически установлен в приложение, создающее элемент. Для установки приложений передайте a CFArrayRef без элементов.

    accessRef

    По возврату, точкам к новому объекту доступа. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Каждый защищенный элемент цепочки для ключей (такой как пароль или закрытый ключ) имеет связанный объект доступа. Объект доступа содержит записи списка управления доступом (ACL), указывающие доверяемые приложения и операции, для которых доверяют тем операциям. Когда приложение пытается получить доступ к элементу цепочки для ключей для конкретной цели (например, для подписания документа), система определяет, доверено ли то приложение для доступа к элементу с этой целью. Если этому доверяют, то приложению предоставляют, доступ и никакое пользовательское подтверждение требуются. Если приложению не доверяют, но существует запись ACL для той работы, то пользователя просят подтвердить, нужно ли приложению предоставить доступ. Если нет никакой записи ACL для той работы, то доступ запрещен, и это до вызывающего приложения, чтобы попробовать что-то еще или уведомить пользователя.

    Эта функция создает объект доступа с тремя записями ACL: первое, называемое доступом владельца, определяет, кто может изменить сам объект доступа. По умолчанию нет никаких доверяемых приложений для доступа владельца; пользователю всегда предлагают разрешение, если кто-то пытается изменить средства управления доступом. Второе для операций, которые рассматривают безопасными, таких как шифрование данных. Эта запись ACL применяется ко всем приложениям. Третья запись ACL для операций, которые должны быть ограничены, такие как дешифрование, подписание, получение ключей и экспорт ключей. Эта запись ACL применяется к доверяемым приложениям, перечисленным в trustedlist параметр.

    Для получения всех записей ACL объекта доступа используйте SecAccessCopyACLList функция. Для получения определенных записей ACL используйте SecAccessCopySelectedACLList функция. Чтобы создать новую запись ACL и добавить его к объекту доступа, использовать SecACLCreateFromSimpleContents. Для изменения существующей записи ACL использовать SecACLSetSimpleContents. Для изменения операций, для которых используется запись ACL вызовите SecACLSetAuthorizations функция.

    Поскольку объект ACL всегда связывается с объектом доступа при изменении записи ACL Вы изменяете объект доступа также. Поэтому нет никакой потребности в отдельной функции для обратной записи измененного объекта ACL в объект доступа.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Создает новый объект доступа использование владельца и списка управления доступом, который Вы обеспечиваете.

    Объявление

    Swift

    func SecAccessCreateWithOwnerAndACL(_ userId: uid_t, _ groupId: gid_t, _ ownerType: SecAccessOwnerType, _ acls: CFArray!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<SecAccess>!

    Objective C

    SecAccessRef SecAccessCreateWithOwnerAndACL ( uid_t userId, gid_t groupId, SecAccessOwnerType ownerType, CFArrayRef acls, CFErrorRef *error );

    Параметры

    userId

    Идентификатор пользователя, которому принадлежит этот список управления доступом.

    groupId

    ID группы, которому принадлежит этот список управления доступом.

    ownerType

    Флаги, управляющие, принадлежит ли указанному идентификатору пользователя или группе ID получающийся список управления доступом. Посмотрите SecAccessOwnerType для подробных данных.

    acls

    Массив записей списка управления доступом для соединения с объектом доступа.

    error

    Адрес a CFErrorRef переменная. На ошибке возвращаемое значение NULL, и переменная, на которую ссылается этот параметр, перезаписывается с a CFError объект, предоставляющий больше информации.

    Возвращаемое значение

    Возвращает новый объект доступа. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Обсуждение

    Если Вы хотите создать список управления доступом сами, можно использовать эту функцию для создания объекта доступа для использования с другим Сертификатом, Ключом, и Доверительными API-функциями. Это позволяет более сложные средства управления доступом, чем можно создать с Сертификатом, Ключом и Доверием API.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Создает новый объект доступа использование владельца и списка управления доступом, который Вы обеспечиваете.

    Объявление

    Objective C

    OSStatus SecAccessCreateFromOwnerAndACL ( const CSSM_ACL_OWNER_PROTOTYPE *owner, uint32 aclCount, const CSSM_ACL_ENTRY_INFO *acls, SecAccessRef *accessRef );

    Параметры

    owner

    Указатель на владельца списка управления доступом CSSM.

    aclCount

    32-разрядное целое число без знака, представляющее число элементов в списке управления доступом.

    acls

    Указатель на список управления доступом CSSM.

    accessRef

    По возврату, точкам к новому объекту доступа. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция создает объект доступа из структур CSSM. Если Вы хотите использовать CSSM для создания списка управления доступом, можно использовать эту функцию для создания объекта доступа для использования с другим Сертификатом, Ключом и Доверительными API-функциями. CSSM позволяет более сложные средства управления доступом, чем можно создать с Сертификатом, Ключом и Доверием API. Для получения дополнительной информации о API CSSM, посмотрите Коллективную безопасность: CDSA и CSSM, версия 2 (с исправлениями) от Open Group (http://www .opengroup.org/security/cdsa.htm).

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecAccessCreateWithOwnerAndACL вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Получает все записи списка управления доступом данного объекта доступа.

    Объявление

    Swift

    func SecAccessCopyACLList(_ accessRef: SecAccess!, _ aclList: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecAccessCopyACLList ( SecAccessRef accessRef, CFArrayRef *aclList );

    Параметры

    accessRef

    Объект доступа, от которого можно получить информацию.

    aclList

    По возврату, указателю на ссылку недавно создаваемого CFArray из SecACLRef экземпляры. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Объект доступа может иметь любое число записей списка управления доступом (ACL) для определенных операций или наборов операций. Для получения записей ACL для определенных операций используйте SecAccessCopySelectedACLList функция.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Получает выбранные списки управления доступом от данного объекта доступа.

    Объявление

    Swift

    func SecAccessCopyMatchingACLList(_ accessRef: SecAccess!, _ authorizationTag: AnyObject!) -> Unmanaged<CFArray>!

    Objective C

    CFArrayRef SecAccessCopyMatchingACLList ( SecAccessRef accessRef, CFTypeRef authorizationTag );

    Параметры

    accessRef

    Объект доступа, от которого можно получить информацию.

    authorizationTag

    Тег авторизации списка управления доступом; функция возвращает только те записи списка управления доступом, применяющиеся к работе, обозначенной этим тегом. Посмотрите CSSM Authorization Tag Type Constants для подробных данных.

    Возвращаемое значение

    Возвращает массив, содержащий выбранные списки управления доступом. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Обсуждение

    Объект доступа может иметь любое число записей списка управления доступом (ACL) для определенных операций или наборов операций. Для получения всех записей ACL для объекта доступа используйте SecAccessCopyACLList функция.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Получает выбранные списки управления доступом от данного объекта доступа.

    Объявление

    Objective C

    OSStatus SecAccessCopySelectedACLList ( SecAccessRef accessRef, CSSM_ACL_AUTHORIZATION_TAG action, CFArrayRef *aclList );

    Параметры

    accessRef

    Объект доступа, от которого можно получить информацию.

    action

    Тег авторизации списка управления доступом; функция возвращает только те записи списка управления доступом, применяющиеся к работе, обозначенной этим тегом.

    aclList

    По возврату, указателю на выбранные списки управления доступом. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Объект доступа может иметь любое число записей списка управления доступом (ACL) для определенных операций или наборов операций. Для получения всех записей ACL для объекта доступа используйте SecAccessCopyACLList функция.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecAccessCopyMatchingACLList вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Получает владельца и список управления доступом данного объекта доступа.

    Объявление

    Swift

    func SecAccessCopyOwnerAndACL(_ accessRef: SecAccess!, _ userId: UnsafeMutablePointer<uid_t>, _ groupId: UnsafeMutablePointer<gid_t>, _ ownerType: UnsafeMutablePointer<SecAccessOwnerType>, _ aclList: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecAccessCopyOwnerAndACL ( SecAccessRef accessRef, uid_t *userId, gid_t *groupId, SecAccessOwnerType *ownerType, CFArrayRef *aclList );

    Параметры

    accessRef

    Объект доступа, от которого можно получить владельца и список управления доступом.

    userId

    По возврату, идентификатор пользователя, которому принадлежит объект доступа.

    groupId

    По возврату, идентификатор пользователя, которому принадлежит объект доступа.

    ownerType

    По возврату, флаги, указывающие, принадлежит ли указанному идентификатору пользователя или группе ID получающийся список управления доступом. Посмотрите SecAccessOwnerType для подробных данных.

    aclList

    По возврату массив записей списка управления доступом связался с объектом доступа.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Получает владельца и список управления доступом данного объекта доступа.

    Объявление

    Objective C

    OSStatus SecAccessGetOwnerAndACL ( SecAccessRef accessRef, CSSM_ACL_OWNER_PROTOTYPE_PTR *owner, uint32 *aclCount, CSSM_ACL_ENTRY_INFO_PTR *acls );

    Параметры

    accessRef

    Объект доступа, от которого можно получить владельца и список управления доступом.

    owner

    По возврату, указателю на владельца списка управления доступом CSSM.

    aclCount

    По возврату, указателю на 32-разрядное целое число без знака, представляющее число элементов в списке управления доступом.

    acls

    По возврату, указателю на список управления доступом CSSM.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция возвращает структуры CSSM для использования с API-функциями CSSM.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecAccessCreateWithOwnerAndACL вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Создает новую запись списка управления доступом из списка приложений, описания и быстрого предоставленного селектора и добавляет его к объекту доступа элемента.

    Объявление

    Swift

    func SecACLCreateWithSimpleContents(_ access: SecAccess!, _ applicationList: CFArray!, _ description: CFString!, _ promptSelector: SecKeychainPromptSelector, _ newAcl: UnsafeMutablePointer<Unmanaged<SecACL>?>) -> OSStatus

    Objective C

    OSStatus SecACLCreateWithSimpleContents ( SecAccessRef access, CFArrayRef applicationList, CFStringRef description, SecKeychainPromptSelector promptSelector, SecACLRef *newAcl );

    Параметры

    access

    Объект доступа, к которому можно добавить информацию.

    applicationList

    Массив доверяемых объектов приложения (т.е. SecTrustedApplication экземпляры) идентификация приложений, которые являются предоставленным доступом к элементу цепочки для ключей без пользовательского подтверждения. Используйте SecTrustedApplicationCreateFromPath функция для создания объектов приложения, которым доверяют. Если Вы устанавливаете этот параметр на NULL, тогда любое приложение может использовать этот элемент. Если Вы передаете пустой массив, то нет никаких доверяемых приложений. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    description

    Человекочитаемое имя, которое будет использоваться для обращения к этому элементу, когда предлагают пользователю.

    promptSelector

    Ряд быстрых селекторных флагов. Посмотрите SecKeychainPromptSelector для возможных значений.

    newAcl

    По возврату переменная, на которую ссылается этот параметр, будет содержать объект, представляющий новую запись списка управления доступом.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Объект ACL, возвращенный этой функцией, является ссылкой на запись списка управления доступом (ACL). Запись ACL включает список доверяемых приложений (см. SecTrustedApplicationCreateFromPath), имя элемента цепочки для ключей, как это появляется в пользовательских подсказках, быстром селекторном флаге и списке одной или более операций, к которым применяется эта запись ACL. По умолчанию новая запись ACL применяется ко всем операциям (тег авторизации CSSM установлен в CSSM_ACL_AUTHORIZATION_ANY). Используйте SecACLUpdateAuthorizations функционируйте для установки списка операций для объекта ACL.

    Система позволяет точно одному владельцу запись ACL в каждом объекте доступа. SecACLCreateWithSimpleContents функционируйте сбои, при попытке добавить второго владельца ACL. Для изменения средств управления доступом владельца используйте SecAccessCopyMatchingACLList функционируйте для нахождения владельца ACL (т.е. единственный ACL с тегом авторизации CSSM CSSM_ACL_AUTHORIZATION_CHANGE_ACL) и SecACLSetContents функционируйте для изменения его по мере необходимости.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Создает новую запись списка управления доступом из списка приложений, описания и быстрого предоставленного селектора и добавляет его к объекту доступа элемента.

    Объявление

    Objective C

    OSStatus SecACLCreateFromSimpleContents ( SecAccessRef access, CFArrayRef applicationList, CFStringRef description, const CSSM_ACL_KEYCHAIN_PROMPT_SELECTOR *promptSelector, SecACLRef *newAcl );

    Параметры

    access

    Объект доступа, к которому можно добавить информацию.

    applicationList

    Массив доверяемых объектов приложения (т.е. SecTrustedApplication экземпляры) идентификация приложений, которые являются предоставленным доступом к элементу цепочки для ключей без пользовательского подтверждения. Используйте SecTrustedApplicationCreateFromPath функция для создания объектов приложения, которым доверяют. Если Вы устанавливаете этот параметр на NULL, тогда любое приложение может использовать этот элемент. Если Вы передаете пустой массив, то нет никаких доверяемых приложений. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    description

    Человекочитаемое имя, которое будет использоваться для обращения к этому элементу, когда предлагают пользователю.

    promptSelector

    Указатель на быстрый селектор. Если Вы устанавливаете CSSM_ACL_KEYCHAIN_PROMPT_REQUIRE_PASSPHRASE бит, пользователю предлагают пароль цепочки для ключей каждый раз, когда недоверяемое приложение пытается получить доступ к этому элементу, даже если уже разблокирована цепочка для ключей.

    newAcl

    По возврату, точкам к объекту списка управления доступом, который является ссылкой на новую запись списка управления доступом.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Объект ACL, возвращенный этой функцией, является ссылкой на запись списка управления доступом (ACL). Запись ACL включает список доверяемых приложений (см. SecTrustedApplicationCreateFromPath), имя элемента цепочки для ключей, как это появляется в пользовательских подсказках, быстром селекторном флаге и списке одной или более операций, к которым применяется эта запись ACL. По умолчанию новая запись ACL применяется ко всем операциям (тег авторизации CSSM установлен в CSSM_ACL_AUTHORIZATION_ANY). Используйте SecACLSetAuthorizations функционируйте для установки списка операций для объекта ACL.

    Система позволяет точно одному владельцу запись ACL в каждом объекте доступа. SecACLCreateFromSimpleContents функционируйте сбои, при попытке добавить второго владельца ACL. Для изменения средств управления доступом владельца используйте SecAccessCopySelectedACLList функционируйте для нахождения владельца ACL (т.е. единственный ACL с тегом авторизации CSSM CSSM_ACL_AUTHORIZATION_CHANGE_ACL) и SecACLSetSimpleContents функционируйте для изменения его по мере необходимости.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecACLCreateWithSimpleContents вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Удаляет указанную запись списка управления доступом.

    Объявление

    Swift

    func SecACLRemove(_ aclRef: SecACL!) -> OSStatus

    Objective C

    OSStatus SecACLRemove ( SecACLRef aclRef );

    Параметры

    aclRef

    Объект ACL, идентифицирующий запись списка управления доступом для удаления.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Система позволяет точно одному владельцу запись ACL в каждом объекте доступа. SecACLRemove функционируйте сбои, при попытке удалить владельца запись ACL. Для изменения средств управления доступом владельца используйте SecAccessCopySelectedACLList функционируйте для нахождения владельца ACL (т.е. единственный ACL с тегом авторизации CSSM CSSM_ACL_AUTHORIZATION_CHANGE_ACL) и SecACLSetSimpleContents функционируйте для изменения его по мере необходимости.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Возвращает список приложений, описание и быстрый селектор для данной записи списка управления доступом.

    Объявление

    Swift

    func SecACLCopyContents(_ acl: SecACL!, _ applicationList: UnsafeMutablePointer<Unmanaged<CFArray>?>, _ description: UnsafeMutablePointer<Unmanaged<CFString>?>, _ promptSelector: UnsafeMutablePointer<SecKeychainPromptSelector>) -> OSStatus

    Objective C

    OSStatus SecACLCopyContents ( SecACLRef acl, CFArrayRef *applicationList, CFStringRef *description, SecKeychainPromptSelector *promptSelector );

    Параметры

    acl

    Объект ACL, идентифицирующий запись списка управления доступом, от которой Вы хотите информацию.

    applicationList

    Адрес a CFArrayRef переменная, в которую копия списка приложений должна быть сохранена по возврату. Этот массив будет содержать SecTrustedApplication экземпляры, идентифицирующие приложения, которые являются предоставленным доступом к элементу цепочки для ключей без пользовательского подтверждения.

    Если получающееся CFArrayRef значение NULL, тогда любое приложение может использовать этот элемент. Если ссылка полученного массива является допустимым указателем на пустой массив, то нет никаких доверяемых приложений.

    Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    description

    Адрес a CFStringRef переменная, в которую копия описания должна быть сохранена по возврату. Это описание является именем элемента цепочки для ключей, появляющегося в диалоговом окне, когда пользователю предлагают разрешение использовать элемент.

    Обратите внимание на то, что это имя является не обязательно тем же как именем, выведенным на экран для элемента приложением Доступа Цепочки для ключей.

    Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    promptSelector

    Адрес a SecKeychainPromptSelector переменная, в которую копия быстрого селектора должна быть сохранена по возврату.

    По возврату, точкам к быстрому селекторному флагу для данной записи списка управления доступом. Если kSecKeychainPromptRequirePassphase бит установлен, пользователю предлагают пароль цепочки для ключей каждый раз, когда недоверяемое приложение пытается получить доступ к этому элементу, даже если уже разблокирована цепочка для ключей.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Запись списка управления доступом применяется к определенному использованию или набору использования для определенного элемента цепочки для ключей. Объект ACL включает список доверяемых приложений (см. SecTrustedApplicationCreateFromPath), имя элемента цепочки для ключей, как это появляется в пользовательских подсказках, быстром селекторном флаге и списке одной или более операций, к которым применяется этот объект ACL. Используйте SecACLCopyAuthorizations функция для получения списка операций для объекта ACL.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Возвращает список приложений, описание, и CSSM запрашивают селектор данную запись списка управления доступом.

    Объявление

    Objective C

    OSStatus SecACLCopySimpleContents ( SecACLRef acl, CFArrayRef *applicationList, CFStringRef *description, CSSM_ACL_KEYCHAIN_PROMPT_SELECTOR *promptSelector );

    Параметры

    acl

    Объект ACL, идентифицирующий запись списка управления доступом, от которой Вы хотите информацию.

    applicationList

    По возврату, точкам к массиву SecTrustedApplication экземпляры, идентифицирующие приложения, которые являются предоставленным доступом к элементу цепочки для ключей без пользовательского подтверждения. Если возвращается этот параметр NULL, тогда любое приложение может использовать этот элемент. Если этот параметр возвращает допустимый указатель, но массив пуст, то нет никаких доверяемых приложений. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    description

    По возврату, имени элемента цепочки для ключей, появляющегося в диалоговом окне, когда пользователю предлагают разрешение использовать элемент. Обратите внимание на то, что это имя является не обязательно тем же как тем, выведенным на экран для элемента приложением Доступа Цепочки для ключей. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    promptSelector

    По возврату, точкам к быстрому селекторному флагу для данной записи списка управления доступом. Если CSSM_ACL_KEYCHAIN_PROMPT_REQUIRE_PASSPHRASE бит установлен, пользователю предлагают пароль цепочки для ключей каждый раз, когда недоверяемое приложение пытается получить доступ к этому элементу, даже если уже разблокирована цепочка для ключей.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Запись списка управления доступом применяется к определенному использованию или набору использования для определенного элемента цепочки для ключей. Объект ACL включает список доверяемых приложений (см. SecTrustedApplicationCreateFromPath), имя элемента цепочки для ключей, как это появляется в пользовательских подсказках, быстром селекторном флаге и списке одной или более операций, к которым применяется этот объект ACL. Используйте SecACLGetAuthorizations функция для получения списка операций для объекта ACL.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecACLCopyContents вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Устанавливает список приложений, описание и быстрый селектор для данной записи списка управления доступом.

    Объявление

    Swift

    func SecACLSetContents(_ acl: SecACL!, _ applicationList: CFArray!, _ description: CFString!, _ promptSelector: SecKeychainPromptSelector) -> OSStatus

    Objective C

    OSStatus SecACLSetContents ( SecACLRef acl, CFArrayRef applicationList, CFStringRef description, SecKeychainPromptSelector promptSelector );

    Параметры

    acl

    Объект ACL, идентифицирующий запись списка управления доступом.

    applicationList

    Массив доверяемых объектов приложения (т.е. SecTrustedApplication экземпляры) идентификация приложений, которые являются предоставленным доступом к элементу цепочки для ключей без пользовательского подтверждения. Используйте SecTrustedApplicationCreateFromPath функция для создания объектов приложения, которым доверяют. Если Вы устанавливаете этот параметр на NULL, тогда любое приложение может использовать этот элемент. Если Вы передаете пустой массив, то все приложения обрабатываются как недоверяемые.

    description

    Имя элемента цепочки для ключей, появляющегося в диалоговом окне, когда пользователю предлагают разрешение использовать элемент. Обратите внимание на то, что это имя является не обязательно тем же как тем, выведенным на экран для элемента приложением Доступа Цепочки для ключей.

    promptSelector

    Быстрый селектор отмечает для данной записи списка управления доступом. Посмотрите SecKeychainPromptSelector для подробных данных.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Поскольку объект ACL всегда связывается с объектом доступа при изменении записи ACL Вы изменяете объект доступа также. Нет никакой потребности вызвать отдельную функцию для обратной записи измененного объекта ACL в объект доступа.

    Используйте SecACLCopyAuthorizations функция для получения списка операций для объекта ACL.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Устанавливает список приложений, описание и быстрый селектор для данной записи списка управления доступом.

    Объявление

    Objective C

    OSStatus SecACLSetSimpleContents ( SecACLRef acl, CFArrayRef applicationList, CFStringRef description, const CSSM_ACL_KEYCHAIN_PROMPT_SELECTOR *promptSelector );

    Параметры

    acl

    Объект ACL, идентифицирующий запись списка управления доступом.

    applicationList

    Массив доверяемых объектов приложения (т.е. SecTrustedApplication экземпляры) идентификация приложений, которые являются предоставленным доступом к элементу цепочки для ключей без пользовательского подтверждения. Используйте SecTrustedApplicationCreateFromPath функция для создания объектов приложения, которым доверяют. Если Вы устанавливаете этот параметр на NULL, тогда любое приложение может использовать этот элемент. Если Вы передаете пустой массив, то все приложения обрабатываются как недоверяемые.

    description

    Имя элемента цепочки для ключей, появляющегося в диалоговом окне, когда пользователю предлагают разрешение использовать элемент. Обратите внимание на то, что это имя является не обязательно тем же как тем, выведенным на экран для элемента приложением Доступа Цепочки для ключей.

    promptSelector

    Быстрый селекторный флаг для данной записи списка управления доступом. Установите CSSM_ACL_KEYCHAIN_PROMPT_REQUIRE_PASSPHRASE бит для предложения пользователю пароль цепочки для ключей каждый раз, когда недоверяемое приложение пытается получить доступ к этому элементу, даже если уже разблокирована цепочка для ключей.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Поскольку объект ACL всегда связывается с объектом доступа при изменении записи ACL Вы изменяете объект доступа также. Нет никакой потребности в отдельной функции для обратной записи измененного объекта ACL в объект доступа.

    Используйте SecACLGetAuthorizations функция для получения списка операций для объекта ACL.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecACLSetContents вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Получает теги авторизации данной записи списка управления доступом.

    Объявление

    Swift

    func SecACLCopyAuthorizations(_ acl: SecACL!) -> Unmanaged<CFArray>!

    Objective C

    CFArrayRef SecACLCopyAuthorizations ( SecACLRef acl );

    Параметры

    acl

    Объект ACL, идентифицирующий запись списка управления доступом, от которой Вы хотите получить теги авторизации.

    Возвращаемое значение

    Возвращает объект CFArrayRef, содержащий полномочия для этого ACL.

    Обсуждение

    Объект ACL включает список доверяемых приложений (см. SecTrustedApplicationCreateFromPath), имя элемента цепочки для ключей, как это появляется в пользовательских подсказках, быстром селекторном флаге и списке одной или более операций, к которым применяется этот объект ACL. Используйте эту функцию для получения списка операций для объекта ACL. Используйте SecACLCopyContents функция для получения другой информации.

    SecACLGetAuthorizations функционируйте возвращает ошибку, если существует больше тегов для возврата, чем число элементов, которое Вы выделили в tags массив. Массив с 20 элементами должен быть достаточным в большинстве целей; однако, можно протестировать на errSecBufferTooSmall ошибка и увеличение размер массива прежде, чем вызвать функцию снова при необходимости. Также можно вызвать функцию с количеством тега 0, читайте значение возвратилось в tagCount параметр, и затем вызывает функцию снова с помощью того значения.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Получает теги авторизации CSSM данной записи списка управления доступом.

    Объявление

    Objective C

    OSStatus SecACLGetAuthorizations ( SecACLRef acl, CSSM_ACL_AUTHORIZATION_TAG *tags, uint32 *tagCount );

    Параметры

    acl

    Объект ACL, идентифицирующий запись списка управления доступом, от которой Вы хотите получить теги авторизации.

    tags

    Указатель на массив тегов авторизации CSSM. Необходимо выделить этот массив прежде, чем вызвать функцию. По возврату этот массив содержит теги авторизации указанной записи ACL.

    tagCount

    На записи точках к числу элементов в массиве Вы передали в tags параметр. По возврату точки к числу тегов фактически возвратились или, в случае переполнения, числа требуемых тегов.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Объект ACL включает список доверяемых приложений (см. SecTrustedApplicationCreateFromPath), имя элемента цепочки для ключей, как это появляется в пользовательских подсказках, быстром селекторном флаге и списке одной или более операций, к которым применяется этот объект ACL. Используйте эту функцию для получения списка операций для объекта ACL. Используйте SecACLCopySimpleContents функция для получения другой информации.

    SecACLGetAuthorizations функционируйте возвращает ошибку, если существует больше тегов для возврата, чем число элементов, которое Вы выделили в tags массив. Массив с 20 элементами должен быть достаточным в большинстве целей; однако, можно протестировать на errSecBufferTooSmall ошибка и увеличение размер массива прежде, чем вызвать функцию снова при необходимости. Также можно вызвать функцию с количеством тега 0, читайте значение возвратилось в tagCount параметр, и затем вызывает функцию снова с помощью того значения.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecACLCopyAuthorizations вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Устанавливает теги авторизации для данной записи списка управления доступом.

    Объявление

    Swift

    func SecACLUpdateAuthorizations(_ acl: SecACL!, _ authorizations: CFArray!) -> OSStatus

    Objective C

    OSStatus SecACLUpdateAuthorizations ( SecACLRef acl, CFArrayRef authorizations );

    Параметры

    acl

    Объект ACL, идентифицирующий запись списка управления доступом, для которой Вы хотите установить теги авторизации.

    authorizations

    Массив тегов авторизации. Посмотрите CSSM Authorization Tag Type Constants для подробных данных.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Объект ACL включает список доверяемых приложений (см. SecTrustedApplicationCreateFromPath), имя элемента цепочки для ключей, как это появляется в пользовательских подсказках, быстром селекторном флаге и списке одной или более операций, к которым применяется этот объект ACL. Используйте эту функцию, чтобы установить список операций для объекта ACL или установить CSSM_ACL_AUTHORIZATION_ANY тег для разрешения всех операций. Используйте SecACLSetContents функционируйте для установки другой информации.

    Поскольку объект ACL всегда связывается с объектом доступа при изменении записи ACL Вы изменяете объект доступа также. Нет никакой потребности вызвать отдельную функцию для обратной записи измененного объекта ACL в объект доступа.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Осуждаемый. Устанавливает теги авторизации CSSM для данной записи списка управления доступом.

    Объявление

    Objective C

    OSStatus SecACLSetAuthorizations ( SecACLRef acl, CSSM_ACL_AUTHORIZATION_TAG *tags, uint32 tagCount );

    Параметры

    acl

    Объект ACL, идентифицирующий запись списка управления доступом, для которой Вы хотите установить теги авторизации.

    tags

    Массив тегов авторизации CSSM.

    tagCount

    Число тегов в авторизации CSSM тегирует массив.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Объект ACL включает список доверяемых приложений (см. SecTrustedApplicationCreateFromPath), имя элемента цепочки для ключей, как это появляется в пользовательских подсказках, быстром селекторном флаге и списке одной или более операций, к которым применяется этот объект ACL. Используйте эту функцию, чтобы установить список операций для объекта ACL или установить CSSM_ACL_AUTHORIZATION_ANY тег для разрешения всех операций. Используйте SecACLSetSimpleContents функционируйте для установки другой информации.

    Поскольку объект ACL всегда связывается с объектом доступа при изменении записи ACL Вы изменяете объект доступа также. Нет никакой потребности в отдельной функции для обратной записи измененного объекта ACL в объект доступа.

    Специальные замечания

    Эта функция осуждается в OS X v10.7 и позже; использовать SecACLUpdateAuthorizations вместо этого.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Получает данные доверяемого объекта приложения.

    Объявление

    Swift

    func SecTrustedApplicationCopyData(_ appRef: SecTrustedApplication!, _ data: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus SecTrustedApplicationCopyData ( SecTrustedApplicationRef appRef, CFDataRef *data );

    Параметры

    appRef

    Доверяемый объект приложения, от которого можно получить данные. Используйте SecTrustedApplicationCreateFromPath функция для создания доверяемого объекта приложения.

    data

    По возврату, точкам к объекту данных для данных доверяемого объекта приложения. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Доверяемый объект приложения, создаваемый SecTrustedApplicationCreateFromPath функция включает данные, однозначно определяющие приложение, такое как криптографический хеш приложения. Операционная система может использовать эти данные, чтобы проверить, что приложение не было изменено, так как доверяемый объект приложения создавался. Когда доступ запросов приложения к элементу в цепочке для ключей эти данные прежде, чем предоставить доступ, для которой это определяется как доверяемое приложение, например, операционная система проверяет, можно использовать SecTrustedApplicationCopyData функционируйте для извлечения этих данных из доверяемого объекта приложения для хранения или для передачи к другому расположению (такой как по сети). Используйте SecTrustedApplicationSetData функционируйте для вставки данных назад в доверяемый объект приложения. Обратите внимание на то, что эти данные находятся в частном формате; нет никакого поддерживаемого способа считать или интерпретировать его.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Создает доверяемый объект приложения на основе приложения, указанного путем.

    Объявление

    Swift

    func SecTrustedApplicationCreateFromPath(_ path: UnsafePointer<Int8>, _ app: UnsafeMutablePointer<Unmanaged<SecTrustedApplication>?>) -> OSStatus

    Objective C

    OSStatus SecTrustedApplicationCreateFromPath ( const char *path, SecTrustedApplicationRef *app );

    Параметры

    path

    Путь к приложению или инструменту для доверия. Для комплектов приложений используйте путь к каталогу пакета. Передача NULL обращаться к приложению или инструменту, сделавшему этот звонок.

    app

    По возврату, точкам к недавно создаваемому доверяемому объекту приложения. Необходимо вызвать CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с помощью него.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Эта функция создает доверяемый объект приложения, и идентифицирующий приложение и предоставляющий данные, которые могут использоваться, чтобы гарантировать, что приложение не было изменено, так как объект создавался. Объект приложения используется в качестве ввода к SecAccessCreate функция, создающая объект доступа. Объект доступа, в свою очередь, используется в качестве ввода к SecKeychainItemSetAccess функция для указания набора приложений, доверенных для доступа к определенному элементу цепочки для ключей.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Устанавливает данные даваемого объекта приложения, которому доверяют.

    Объявление

    Swift

    func SecTrustedApplicationSetData(_ appRef: SecTrustedApplication!, _ data: CFData!) -> OSStatus

    Objective C

    OSStatus SecTrustedApplicationSetData ( SecTrustedApplicationRef appRef, CFDataRef data );

    Параметры

    appRef

    Доверяемый объект приложения.

    data

    Ссылка на данные для установки в доверяемом приложении.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Если Вы использовали SecTrustedApplicationCopyData функционируйте, чтобы извлечь данные из доверяемого объекта приложения для хранения или передать его к различному расположению, можно использовать SecTrustedApplicationSetData функционируйте для вставки данных в новый доверяемый объект приложения. Выполнение так создало бы объект, идентифицирующий то же приложение как исходный доверяемый объект приложения.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Получает текущий предпочтительный домен цепочки для ключей.

    Объявление

    Swift

    func SecKeychainGetPreferenceDomain(_ domain: UnsafeMutablePointer<SecPreferencesDomain>) -> OSStatus

    Objective C

    OSStatus SecKeychainGetPreferenceDomain ( SecPreferencesDomain *domain );

    Параметры

    domain

    По возврату, указателю на предпочтительный домен цепочки для ключей. Посмотрите Предпочтительные Константы Домена Цепочки для ключей для возможных значений домена.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Предпочтительный домен является рядом связанных с безопасностью предпочтений, таких как цепочка для ключей по умолчанию и текущий список поиска цепочки для ключей. Предпочтительный домен по умолчанию для системных демонов (т.е. для демонов, работающих в корневом сеансе), является системным доменом. Предпочтительный домен по умолчанию для всех других программ является пользовательским доменом. Используйте SecKeychainSetPreferenceDomain функционируйте для изменения предпочтительного домена.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Устанавливает предпочтительный домен цепочки для ключей.

    Объявление

    Swift

    func SecKeychainSetPreferenceDomain(_ domain: SecPreferencesDomain) -> OSStatus

    Objective C

    OSStatus SecKeychainSetPreferenceDomain ( SecPreferencesDomain domain );

    Параметры

    domain

    Предпочтительный домен цепочки для ключей для установки. Посмотрите Предпочтительные Константы Домена Цепочки для ключей для возможных значений домена.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Предпочтительный домен является рядом связанных с безопасностью предпочтений, таких как цепочка для ключей по умолчанию и текущий список поиска цепочки для ключей. Предпочтительный домен по умолчанию для системных демонов (т.е. для демонов, работающих в корневом сеансе), является системным доменом. Предпочтительный домен по умолчанию для всех других программ является пользовательским доменом.

    Эта функция изменяет предпочтительный домен для всех последующих вызовов функции; например, если Вы изменяетесь от системного домена до пользовательского домена и затем вызываете SecKeychainLock указание NULL для цепочки для ключей функция блокирует системную цепочку для ключей по умолчанию, а не пользовательскую цепочку для ключей по умолчанию. Вы могли бы хотеть использовать эту функцию, например, при запуске системного демона с сеанса пользователя так, чтобы демон использовал установки системы, а не пользовательские настройки.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Получает цепочку для ключей по умолчанию от указанного предпочтительного домена.

    Объявление

    Swift

    func SecKeychainCopyDomainDefault(_ domain: SecPreferencesDomain, _ keychain: UnsafeMutablePointer<Unmanaged<SecKeychain>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainCopyDomainDefault ( SecPreferencesDomain domain, SecKeychainRef *keychain );

    Параметры

    domain

    Предпочтительный домен, от которого Вы хотите получить цепочку для ключей по умолчанию. Посмотрите Предпочтительные Константы Домена Цепочки для ключей для возможных значений домена.

    keychain

    По возврату, указателю на объект цепочки для ключей цепочки для ключей по умолчанию в указанном предпочтительном домене.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Предпочтительный домен является рядом связанных с безопасностью предпочтений, таких как цепочка для ключей по умолчанию и текущий список поиска цепочки для ключей. Используйте эту функцию, если Вы хотите получить цепочку для ключей по умолчанию для определенного предпочтительного домена. Используйте SecKeychainCopyDefault функционируйте, если Вы хотите цепочку для ключей по умолчанию для текущего предпочтительного домена. Посмотрите SecKeychainSetPreferenceDomain функция для обсуждения текущих и предпочтительных доменов по умолчанию.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Устанавливает цепочку для ключей по умолчанию для указанного предпочтительного домена.

    Объявление

    Swift

    func SecKeychainSetDomainDefault(_ domain: SecPreferencesDomain, _ keychain: SecKeychain!) -> OSStatus

    Objective C

    OSStatus SecKeychainSetDomainDefault ( SecPreferencesDomain domain, SecKeychainRef keychain );

    Параметры

    domain

    Предпочтительный домен, для которого Вы хотите установить цепочку для ключей по умолчанию. Посмотрите Предпочтительные Константы Домена Цепочки для ключей для возможных значений домена.

    keychain

    Ссылка на цепочку для ключей Вы хотите установить как значение по умолчанию в указанном предпочтительном домене.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Предпочтительный домен является рядом связанных с безопасностью предпочтений, таких как цепочка для ключей по умолчанию и текущий список поиска цепочки для ключей. Используйте эту функцию, если Вы хотите установить цепочку для ключей по умолчанию для определенного предпочтительного домена. Используйте SecKeychainSetDefault функционируйте, если Вы хотите установить цепочку для ключей по умолчанию для текущего предпочтительного домена. Посмотрите SecKeychainSetPreferenceDomain функция для обсуждения текущих и предпочтительных доменов по умолчанию.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Получает список поиска цепочки для ключей для указанного предпочтительного домена.

    Объявление

    Swift

    func SecKeychainCopyDomainSearchList(_ domain: SecPreferencesDomain, _ searchList: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecKeychainCopyDomainSearchList ( SecPreferencesDomain domain, CFArrayRef *searchList );

    Параметры

    domain

    Предпочтительный домен, от которого Вы хотите получить список поиска цепочки для ключей. Посмотрите Предпочтительные Константы Домена Цепочки для ключей для возможных значений домена.

    searchList

    По возврату указатель на цепочку для ключей ищет список указанного предпочтительного домена.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Предпочтительный домен является рядом связанных с безопасностью предпочтений, таких как цепочка для ключей по умолчанию и текущий список поиска цепочки для ключей. Используйте эту функцию, если Вы хотите получить список поиска цепочки для ключей для определенного предпочтительного домена. Используйте SecKeychainCopySearchList функционируйте, если Вы хотите список поиска цепочки для ключей для текущего предпочтительного домена. Посмотрите SecKeychainSetPreferenceDomain функция для обсуждения текущих и предпочтительных доменов по умолчанию.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Устанавливает список поиска цепочки для ключей для указанного предпочтительного домена.

    Объявление

    Swift

    func SecKeychainSetDomainSearchList(_ domain: SecPreferencesDomain, _ searchList: CFArray!) -> OSStatus

    Objective C

    OSStatus SecKeychainSetDomainSearchList ( SecPreferencesDomain domain, CFArrayRef searchList );

    Параметры

    domain

    Предпочтительный домен, для которого Вы хотите установить список поиска цепочки для ключей по умолчанию. Посмотрите Предпочтительный Домен Цепочки для ключей Constantsfor возможные значения домена.

    searchList

    Указатель на цепочку для ключей ищет список для установки в предпочтительном домене.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Предпочтительный домен является рядом связанных с безопасностью предпочтений, таких как цепочка для ключей по умолчанию и текущий список поиска цепочки для ключей. Используйте эту функцию, если Вы хотите установить список поиска цепочки для ключей для определенного предпочтительного домена. Используйте SecKeychainSetSearchList функционируйте, если Вы хотите установить список поиска цепочки для ключей для текущего предпочтительного домена. Посмотрите SecKeychainSetPreferenceDomain функция для обсуждения текущих и предпочтительных доменов по умолчанию.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Возвращает CSSM CSP дескриптор для данного объекта цепочки для ключей.

    Объявление

    Objective C

    OSStatus SecKeychainGetCSPHandle ( SecKeychainRef keychain, CSSM_CSP_HANDLE *cspHandle );

    Параметры

    keychain

    Объект цепочки для ключей.

    cspHandle

    По возврату указатель на CSSM CSP обрабатывает для данной цепочки для ключей. Дескриптор допустим, пока не выпущен объект цепочки для ключей.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Возвращает дескриптор базы данных CSSM для данного объекта цепочки для ключей.

    Объявление

    Objective C

    OSStatus SecKeychainGetDLDBHandle ( SecKeychainRef keychain, CSSM_DL_DB_HANDLE *dldbHandle );

    Параметры

    keychain

    Объект цепочки для ключей.

    dldbHandle

    По возврату указатель на базу данных CSSM обрабатывает для данной цепочки для ключей. Дескриптор допустим, пока не выпущен объект цепочки для ключей.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Возвращает дескриптор базы данных CSSM для данного объекта элемента цепочки для ключей.

    Объявление

    Objective C

    OSStatus SecKeychainItemGetDLDBHandle ( SecKeychainItemRef keyItemRef, CSSM_DL_DB_HANDLE *dldbHandle );

    Параметры

    keyItemRef

    Объект элемента цепочки для ключей.

    dldbHandle

    По возврату указатель на базу данных CSSM обрабатывает для базы данных цепочки для ключей, содержащей данный элемент. Дескриптор допустим, пока не выпущен объект элемента цепочки для ключей.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Возвращает уникальную запись CSSM для данного объекта элемента цепочки для ключей.

    Объявление

    Objective C

    OSStatus SecKeychainItemGetUniqueRecordID ( SecKeychainItemRef itemRef, const CSSM_DB_UNIQUE_RECORD **uniqueRecordID );

    Параметры

    itemRef

    Объект элемента цепочки для ключей.

    uniqueRecordID

    По возврату, указателю на уникальную запись CSSM для данного элемента. Уникальная запись допустима, пока не выпущен объект элемента.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Оператор импорта

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

  • Регистрирует Вашу функцию обратного вызова события цепочки для ключей

    Объявление

    Swift

    func SecKeychainAddCallback(_ callbackFunction: SecKeychainCallback, _ eventMask: SecKeychainEventMask, _ userContext: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus SecKeychainAddCallback ( SecKeychainCallback callbackFunction, SecKeychainEventMask eventMask, void *userContext );

    Параметры

    callbackFunction

    Указатель на Вашу функцию обратного вызова события цепочки для ключей, описанную в SecKeychainCallback.

    eventMask

    Немного маски, указывающей события цепочки для ключей, относительно которых Ваше приложение хочет быть уведомленным. Keychain Services тестирует эту маску для определения событий цепочки для ключей, которые Вы хотите получить, и передает эти события в keychainEvent параметр Вашей функции обратного вызова.

    userContext

    Указатель на определенное с помощью приложения хранение, которое будет передано Вашей функции обратного вызова. Ваше приложение может использовать это для соединения любого определенного вызова этой функции с любым определенным вызовом функции обратного вызова события цепочки для ключей.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    Важно отметить, что не регистрируются текущая Основа или Базовая Основа, выполненный цикл должен быть активным при совершении этого звонка или обратных вызовов. В многопоточных программах уведомления регистрируются в цикле выполнения вызова потока SecKeychainAddCallback; поэтому, поставка уведомлений зависит от функционирования цикла выполнения того потока. Если тот поток завершится или будет так занят, что он не управляет своим циклом выполнения своевременно, то уведомления будут задержаны и могут в конечном счете быть отброшены без любого уведомления.

    По этой причине это нецелесообразно для Вашей программы для зависимости от поставки уведомлений, вызванных собственными действиями (такой как в зависимости от получения уведомления удаления прежде, чем обновить представление UI), если программа не многопоточна и может взять уведомления на потоке, отличающемся от того, генерирующего события.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Не регистрирует Вашу функцию обратного вызова события цепочки для ключей.

    Объявление

    Swift

    func SecKeychainRemoveCallback(_ callbackFunction: SecKeychainCallback) -> OSStatus

    Objective C

    OSStatus SecKeychainRemoveCallback ( SecKeychainCallback callbackFunction );

    Параметры

    callbackFunction

    Указатель функции обратного вызова для удаления.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services. Вызвать SecCopyErrorMessageString (Только OS X) для получения человекочитаемой строки, объясняя результат.

    Обсуждение

    После того, как удаленный, события цепочки для ключей не отправляются владельцу обратного вызова.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

Обратные вызовы

  • Определяет указатель на специализированную функцию обратного вызова, которую вызывает Keychain Services, когда событие цепочки для ключей имело место.

    Объявление

    Swift

    typealias SecKeychainCallback = CFunctionPointer<((SecKeychainEvent, UnsafeMutablePointer<SecKeychainCallbackInfo>, UnsafeMutablePointer<Void>) -> OSStatus)>

    Objective C

    typedef OSStatus (*SecKeychainCallback) ( SecKeychainEvent keychainEvent, SecKeychainCallbackInfo *info, void *context );

    Параметры

    keychainEvent

    Произошедшее событие цепочки для ключей. Тип события, которое может инициировать Ваш обратный вызов, зависит от битовой маски, которую Вы передали в eventMask параметр функции SecKeychainAddCallback.

    info

    Указатель на структуру типа SecKeychainCallbackInfo. Эта структура предоставляет Вашему обратному вызову информацию о событии цепочки для ключей.

    context

    Указатель на определенное с помощью приложения хранение, которое Ваше приложение ранее передало функции SecKeychainAddCallback. Можно использовать это значение для предоставления информации, в которой функция обратного вызова нужна для надлежащей обработки события, такого как объект, на котором функция обратного вызова должна вызвать метод.

    Возвращаемое значение

    Код результата. Посмотрите Коды Результата Keychain Services.

    Обсуждение

    Для добавления функции обратного вызова используйте SecKeychainAddCallback функция. Для удаления функции обратного вызова используйте SecKeychainRemoveCallback функция.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

Типы данных

  • Идентифицирует цепочку для ключей или информацию о доступе элемента цепочки для ключей.

    Объявление

    Swift

    typealias SecAccessRef = SecAccess

    Objective C

    typedef struct OpaqueSecAccessRef *SecAccessRef;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Представляет информацию о записи списка управления доступом.

    Объявление

    Swift

    typealias SecACLRef = SecACL

    Objective C

    typedef struct OpaqueSecTrustRef *SecACLRef;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Представляет 16-байтовый сигнатурный блок сервера Файлового протокола Apple.

    Объявление

    Swift

    typealias SecAFPServerSignature = (UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8)

    Objective C

    typedef UInt8 SecAFPServerSignature[16];

    Обсуждение

    Этот тип представляет 16-байтовый сигнатурный блок сервера Файлового протокола Apple. Можно передать значение этого, вводят serverSignature параметр функций KCAddAppleSharePassword и KCFindAppleSharePassword представлять подпись сервера Файлового протокола Apple. Можно использовать значение этого типа с постоянным атрибутом элемента цепочки для ключей kSecSignatureItemAttr указать подпись сервера Файлового протокола Apple.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Содержит атрибуты цепочки для ключей.

    Объявление

    Swift

    struct SecKeychainAttribute { var tag: SecKeychainAttrType var length: UInt32 var data: UnsafeMutablePointer<Void> }

    Objective C

    struct SecKeychainAttribute { SecKeychainAttrType tag; UInt32 length; void *data; }; typedef struct SecKeychainAttribute SecKeychainAttribute;

    Поля

    tag

    4-байтовый тег атрибута. Посмотрите Константы Атрибута Элемента Цепочки для ключей для допустимых типов атрибута.

    length

    На длину буфера указывают данные.

    data

    Указатель на данные атрибута.

    Доступность

    Доступный в OS X v10.0 и позже.

  • Представляет указатель на структуру атрибута цепочки для ключей.

    Объявление

    Swift

    typealias SecKeychainAttributePtr = UnsafeMutablePointer<SecKeychainAttribute>

    Objective C

    typedef SecKeychainAttribute *SecKeychainAttributePtr;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.0 и позже.

  • Представляет атрибут.

    Объявление

    Swift

    struct SecKeychainAttributeInfo { var count: UInt32 var tag: UnsafeMutablePointer<UInt32> var format: UnsafeMutablePointer<UInt32> }

    Objective C

    struct SecKeychainAttributeInfo { UInt32 count; UInt32 *tag; UInt32 *format; }; typedef struct SecKeychainAttributeInfo SecKeychainAttributeInfo;

    Поля

    count

    Число пар формата тега в соответствующих массивах.

    tag

    Указатель на первый атрибут тегирует в массиве.

    format

    Указатель на первый атрибут форматирует в массиве. Форматы атрибута имеют тип CSSM_DB_ATTRIBUTE_FORMAT (CSSM_DB_ATTRIBUTE_FORMAT_STRING, например), и определяются в cssmtype.h заголовок.

    Обсуждение

    Каждый тег и элемент формата формируют пару.

    Доступность

    Доступный в OS X v10.2 и позже.

  • Представляет список атрибутов цепочки для ключей.

    Объявление

    Swift

    struct SecKeychainAttributeList { var count: UInt32 var attr: UnsafeMutablePointer<SecKeychainAttribute> }

    Objective C

    struct SecKeychainAttributeList { UInt32 count; SecKeychainAttribute *attr; }; typedef struct SecKeychainAttributeList SecKeychainAttributeList;

    Поля

    count

    32-разрядное целое число без знака, представляющее число атрибутов цепочки для ключей в массиве.

    attr

    Указатель на первую цепочку для ключей приписывает в массиве.

    Доступность

    Доступный в OS X v10.0 и позже.

  • Представляет тип атрибута цепочки для ключей.

    Объявление

    Swift

    typealias SecKeychainAttrType = OSType

    Objective C

    typedef OSType SecKeychainAttrType;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.0 и позже.

  • Содержит информацию о событии цепочки для ключей.

    Объявление

    Swift

    struct SecKeychainCallbackInfo { var version: UInt32 var item: Unmanaged<SecKeychainItem>! var keychain: Unmanaged<SecKeychain>! var pid: pid_t }

    Objective C

    struct SecKeychainCallbackInfo { UInt32 version; SecKeychainItemRef item; SecKeychainRef keychain; pid_t pid; }; typedef struct SecKeychainCallbackInfo SecKeychainCallbackInfo;

    Поля

    version

    Версия этой структуры. Посмотрите Версию Настроек Цепочки для ключей для допустимых констант.

    item

    Ссылка на элемент цепочки для ключей, в котором событие имело место. Если событие не включало элемент, это поле не допустимо.

    keychain

    Ссылка на цепочку для ключей, в которой событие имело место. Если событие не включало цепочку для ключей, это поле не допустимо.

    pid

    ID процесса, генерировавшего это событие.

    Обсуждение

    Эта структура содержит информацию, о событии цепочки для ключей которой Ваше приложение хочет быть уведомленным. Keychain Services передает указатель на эту структуру в info параметр Вашей функции обратного вызова. Для получения информации о том, как записать функцию обратного вызова события цепочки для ключей, посмотрите SecKeychainCallback.

    Доступность

    Доступный в OS X v10.2 и позже.

  • Содержит информацию об элементе цепочки для ключей.

    Объявление

    Swift

    typealias SecKeychainItemRef = SecKeychainItem

    Objective C

    typedef struct OpaqueSecKeychainItemRef *SecKeychainItemRef;

    Обсуждение

    A SecKeychainItemRef объект для сертификата, который сохранен в цепочке для ключей, может быть безопасно брошен к a SecCertificateRef для использования с Сертификатом, Ключом и Доверием API.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.0 и позже.

  • Содержит информацию о цепочке для ключей.

    Объявление

    Swift

    typealias SecKeychainRef = SecKeychain

    Objective C

    typedef struct OpaqueSecKeychainRef *SecKeychainRef;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.0 и позже.

  • Содержит информацию о поиске цепочки для ключей.

    Объявление

    Swift

    typealias SecKeychainSearchRef = SecKeychainSearch

    Objective C

    typedef struct OpaqueSecKeychainSearchRef *SecKeychainSearchRef;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.0 и позже.

  • Содержит информацию о настройках цепочки для ключей.

    Объявление

    Swift

    struct SecKeychainSettings { var version: UInt32 var lockOnSleep: Boolean var useLockInterval: Boolean var lockInterval: UInt32 }

    Objective C

    struct SecKeychainSettings { UInt32 version; Boolean lockOnSleep; Boolean useLockInterval; UInt32 lockInterval; }; typedef struct SecKeychainSettings SecKeychainSettings;

    Поля

    version

    32-разрядное целое число без знака, представляющее версию цепочки для ключей.

    lockOnSleep

    Булево значение, указывающее, блокирует ли цепочка для ключей, когда спит система.

    useLockInterval

    Булево значение, указывающее, блокирует ли цепочка для ключей автоматически после определенного периода времени.

    lockInterval

    32-разрядное целое число без знака, представляющее число секунд перед блокировками цепочки для ключей. Если Вы устанавливаете useLockInterval к FALSE, набор lockInterval к INT_MAX указать, что цепочка для ключей никогда не блокирует.

    Обсуждение

    Эта структура содержит информацию о настройках цепочки для ключей, таких как соединяющийся сон и временной интервал блокировки. Можно использовать SecKeychainSetSettings и SecKeychainCopySettings функции, чтобы установить и скопировать настройки цепочки для ключей.

    Доступность

    Доступный в OS X v10.2 и позже.

  • Содержит входные параметры для функций экспорта и импорта.

    Объявление

    Swift

    struct SecKeyImportExportParameters { var version: UInt32 var flags: SecKeyImportExportFlags var passphrase: Unmanaged<AnyObject>! var alertTitle: Unmanaged<CFString>! var alertPrompt: Unmanaged<CFString>! var accessRef: Unmanaged<SecAccess>! var keyUsage: CSSM_KEYUSE var keyAttributes: CSSM_KEYATTR_FLAGS }

    Objective C

    typedef struct { /* for import and export */ uint32_t version; SecKeyImportExportFlags flags; CFTypeRef passphrase; CFStringRef alertTitle; CFStringRef alertPrompt; /* for import only */ SecAccessRef accessRef; CSSM_KEYUSE keyUsage; CSSM_KEYATTR_FLAGS keyAttributes; } SecKeyImportExportParameters;

    Поля

    version

    Версия этой структуры; текущая стоимость SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION.

    flags
    passphrase

    Пароль, используемый для kSecFormatPKCS12 и kSecFormatWrapped форматы только. (Пароль иногда упоминается как пароль для подчеркивания факта, что более длинная строка, включающая символы небуквы, такие как числа, пунктуация и пробелы, более безопасна, чем простое слово.) Юридические типы CFStringRef и CFDataRef. PKCS12 требует, чтобы пароли были в формате Unicode; передача в a CFStringRef поскольку пароль является самым безопасным способом гарантировать, что это требование удовлетворяется (и что результат совместим с другими реализациями). Если a CFDataRef объект предоставляется как пароль для работы экспорта PKCS12, данные, как предполагается, находятся в форме UTF8 и преобразовываются как надлежащие.

    При импорте или экспорте ключей (SecKeyRef объекты) в одном из обернутых форматов (kSecFormatWrappedOpenSSL, kSecFormatWrappedSSH, или kSecFormatWrappedPKCS8) или в PKCS12 формат, необходимо или явно указать passphrase поле или набор kSecKeySecurePassphrase бит в Flags поле (для запроса пользователя пароль).

    alertTitle

    Заголовок безопасного пароля предупреждает панель. При импорте или экспорте ключа, если Вы устанавливаете kSecKeySecurePassphrase флаговый бит, можно дополнительно использовать это поле для указания строки для строки заголовка панели пароля.

    alertPrompt

    Подсказка в безопасном пароле предупреждает панель. При импорте или экспорте ключа, если Вы устанавливаете kSecKeySecurePassphrase флаговый бит, можно дополнительно использовать это поле для указания строки для подсказки, появляющейся в панели пароля.

    accessRef

    Указывает начальные средства управления доступом импортированных закрытых ключей. Если больше чем один закрытый ключ импортируется, все закрытые ключи получают те же начальные средства управления доступом. Если это поле NULL когда закрытые ключи импортируются, тогда объект доступа для элемента цепочки для ключей для импортированного закрытого ключа зависит от kSecKeyNoAccessControl бит в flags параметр. Если этот бит 0 (или keyParams NULL), управление доступом по умолчанию используется. Если этот бит 1, никакой объект доступа не присоединен к элементу цепочки для ключей для импортированных закрытых ключей.

    keyUsage

    Слово битов, составляющих низкоуровневое использование, отмечает для импортированных ключей, как определено в cssmtype.h. Если это поле 0 или keyParams NULL, значение по умолчанию CSSM_KEYUSE_ANY.

    keyAttributes

    Слово битов, составляющих низкоуровневый атрибут, отмечает для импортированных ключей. Значение по умолчанию CSSM_KEYATTR_SENSITIVE | CSSM_KEYATTR_EXTRACTABLE; CSSM_KEYATTR_PERMANENT бит также добавляется к значению по умолчанию если не -NULL значение указано для importKeychain параметр.

    Следующее является допустимыми значениями для этих флагов: CSSM_KEYATTR_PERMANENT, CSSM_KEYATTR_SENSITIVE, и CSSM_KEYATTR_EXTRACTABLE.

    Если CSSM_KEYATTR_PERMANENT бит установлен, importKeychain если какие-либо ключи найдены во внешнем представлении, то ошибка, параметр не допустим, и errSecInvalidKeychain возвращается.

    CSSM_KEYATTR_SENSITIVE бит указывает, что ключ может только быть извлечен в обернутой форме.

    Важный: Если Вы не устанавливаете CSSM_KEYATTR_EXTRACTABLE бит, Вы не можете извлечь импортированный ключ из цепочки для ключей ни в какой форме, включая в обернутой форме.

    CSSM_KEYATTR_FLAGS перечисление определяется в cssmtype.h. Обратите внимание на то, что CSSM_KEYATTR_RETURN_биты xxx всегда вызываются к CSSM_KEYATTR_RETURN_REF независимо от того, как они указаны в keyAttributes поле.

    Обсуждение

    Эта структура передается в keyParams параметр, как введено к функциям SecKeychainItemExport и SecKeychainItemImport.

    PKCS12 является сокращением для Стандарта Криптографии С открытым ключом № 12. Этот стандарт, Безопасностью RSA, обеспечивает формат для внешнего представления ключей и сертификатов и описан в PKCS 12 v1.0: Синтаксис Exchange Персональных данных.

    Доступность

    Доступный в OS X v10.4 и позже.

  • Блок параметра, используемый для SecItemImport и SecItemExport.

    Объявление

    Swift

    struct SecItemImportExportKeyParameters { var version: UInt32 var flags: SecKeyImportExportFlags var passphrase: Unmanaged<AnyObject>! var alertTitle: Unmanaged<CFString>! var alertPrompt: Unmanaged<CFString>! var accessRef: Unmanaged<SecAccess>! var keyUsage: Unmanaged<CFArray>! var keyAttributes: Unmanaged<CFArray>! }

    Objective C

    typedef struct { /* for import and export */ uint32_t version; SecKeyImportExportFlags flags; CFTypeRef passphrase; CFStringRef alertTitle; CFStringRef alertPrompt; /* for import only */ SecAccessRef accessRef; CFArrayRef keyUsage; CFArrayRef keyAttributes; } SecItemImportExportKeyParameters;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Содержит информацию о доверяемом приложении.

    Объявление

    Swift

    typealias SecTrustedApplicationRef = SecTrustedApplication

    Objective C

    typedef struct OpaqueSecTrustedApplicationRef *SecTrustedApplicationRef;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Содержит информацию о пароле.

    Объявление

    Swift

    typealias SecPasswordRef = SecPassword

    Objective C

    typedef struct OpaqueSecPasswordRef *SecPasswordRef;

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.4 и позже.

Константы

Службы цепочки для ключей OS X константы API

  • Определяет версию структуры параметров импорта/экспорта.

    Объявление

    Swift

    var SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION: Int32 { get }

    Objective C

    #define SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION 0

    Константы

    • SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION

      SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION

      Определяет номер версии для a SecImportExportParameters структура, используемая в качестве ввода к функциям SecKeychainItemExport и SecKeychainItemImport.

      Доступный в OS X v10.4 и позже.

  • Определяет константы, которые можно использовать для идентификации типа аутентификации для использования для интернет-пароля.

    Объявление

    Swift

    typealias SecAuthenticationType = FourCharCode

    Objective C

    typedef FourCharCode SecAuthenticationType; enum { kSecAuthenticationTypeNTLM = AUTH_TYPE_FIX_ ('ntlm'), kSecAuthenticationTypeMSN = AUTH_TYPE_FIX_ ('msna'), kSecAuthenticationTypeDPA = AUTH_TYPE_FIX_ ('dpaa'), kSecAuthenticationTypeRPA = AUTH_TYPE_FIX_ ('rpaa'), kSecAuthenticationTypeHTTPBasic = AUTH_TYPE_FIX_ ('http'), kSecAuthenticationTypeHTTPDigest = AUTH_TYPE_FIX_ ('httd'), kSecAuthenticationTypeHTMLForm = AUTH_TYPE_FIX_ ('form'), kSecAuthenticationTypeDefault = AUTH_TYPE_FIX_ ('dflt'), kSecAuthenticationTypeAny = AUTH_TYPE_FIX_ ( 0 ) };

    Константы

    • kSecAuthenticationTypeNTLM

      kSecAuthenticationTypeNTLM

      Указывает аутентификацию Диспетчера локальной сети Windows NT.

      Доступный в OS X v10.2 и позже.

    • kSecAuthenticationTypeMSN

      kSecAuthenticationTypeMSN

      Указывает аутентификацию значения по умолчанию Microsoft Network.

      Доступный в OS X v10.2 и позже.

    • kSecAuthenticationTypeDPA

      kSecAuthenticationTypeDPA

      Указывает Распределенную Аутентификацию по паролю.

      Доступный в OS X v10.2 и позже.

    • kSecAuthenticationTypeRPA

      kSecAuthenticationTypeRPA

      Указывает Удаленную Аутентификацию по паролю.

      Доступный в OS X v10.2 и позже.

    • kSecAuthenticationTypeHTTPBasic

      kSecAuthenticationTypeHTTPBasic

      Указывает Базовую аутентификацию HTTP.

      Доступный в OS X v10.3 и позже.

    • kSecAuthenticationTypeHTTPDigest

      kSecAuthenticationTypeHTTPDigest

      Указывает Аутентификацию доступа Обзора HTTP.

      Доступный в OS X v10.2 и позже.

    • kSecAuthenticationTypeHTMLForm

      kSecAuthenticationTypeHTMLForm

      Указывает, что HTML-форма базировала аутентификацию.

      Доступный в OS X v10.3 и позже.

    • kSecAuthenticationTypeDefault

      kSecAuthenticationTypeDefault

      Указывает тип аутентификации по умолчанию.

      Доступный в OS X v10.2 и позже.

    • kSecAuthenticationTypeAny

      kSecAuthenticationTypeAny

      Указывает, что любой тип аутентификации приемлем.

      При выполнении поиска используйте это значение, чтобы избежать ограничивать результаты поиска к определенному типу аутентификации.

      Доступный в OS X v10.5 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Определяет связанное с цепочкой для ключей событие.

    Объявление

    Swift

    typealias SecKeychainEvent = UInt32

    Objective C

    typedef UInt32 SecKeychainEvent; enum { kSecLockEvent = 1, kSecUnlockEvent = 2, kSecAddEvent = 3, kSecDeleteEvent = 4, kSecUpdateEvent = 5, kSecPasswordChangedEvent = 6, kSecDefaultChangedEvent = 9, kSecDataAccessEvent = 10, kSecKeychainListChangedEvent = 11, kSecTrustSettingsChangedEvent = 12 };

    Константы

    • kSecLockEvent

      kSecLockEvent

      Указывает, что была заблокирована цепочка для ключей.

      Невозможно различить событие блокировки, вызванное явным запросом и один вызванный цепочкой для ключей, заблокировавшей себя из-за тайм-аута. Поэтому pid параметр в SecKeychainCallbackInfo структура не содержит полезную информацию для этого события. Обратите внимание на то, что, когда сеанс входа в систему завершается, все цепочки для ключей становятся эффективно заблокированными; однако, нет kSecLockEvent события сгенерированы в этом случае.

      Доступный в OS X v10.2 и позже.

    • kSecUnlockEvent

      kSecUnlockEvent

      Указывает, что была успешно разблокирована цепочка для ключей.

      Невозможно различить разблокировать событие, вызванное явным запросом и то, произошедшее автоматически, потому что цепочка для ключей была необходима для выполнения работы. В любом случае, однако, pid параметр в SecKeychainCallbackInfo структура действительно возвращает ID процесса, действия которого вызвали разблокировать событие.

      Доступный в OS X v10.2 и позже.

    • kSecAddEvent

      kSecAddEvent

      Указывает, что элемент был добавлен к цепочке для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecDeleteEvent

      kSecDeleteEvent

      Указывает, что элемент был удален из цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecUpdateEvent

      kSecUpdateEvent

      Указывает, что был обновлен элемент цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecPasswordChangedEvent

      kSecPasswordChangedEvent

      Указывает, что был изменен пароль цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecDefaultChangedEvent

      kSecDefaultChangedEvent

      Указывает, что различная цепочка для ключей была указана как значение по умолчанию.

      Доступный в OS X v10.2 и позже.

    • kSecDataAccessEvent

      kSecDataAccessEvent

      Указывает, что процесс получил доступ к данным элемента цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecKeychainListChangedEvent

      kSecKeychainListChangedEvent

      Указывает, что изменился список цепочек для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecTrustSettingsChangedEvent

      kSecTrustSettingsChangedEvent

      Указывает, что изменились доверительные настройки.

      Доступный в OS X v10.5 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Определяет битовые маски для констант события цепочки для ключей

    Объявление

    Swift

    typealias SecKeychainEventMask = UInt32

    Objective C

    typedef UInt32 SecKeychainEventMask; enum { kSecLockEventMask = 1 << kSecLockEvent, kSecUnlockEventMask = 1 << kSecUnlockEvent, kSecAddEventMask = 1 << kSecAddEvent, kSecDeleteEventMask = 1 << kSecDeleteEvent, kSecUpdateEventMask = 1 << kSecUpdateEvent, kSecPasswordChangedEventMask = 1 << kSecPasswordChangedEvent, kSecDefaultChangedEventMask = 1 << kSecDefaultChangedEvent, kSecDataAccessEventMask = 1 << kSecDataAccessEvent, kSecKeychainListChangedMask = 1 << kSecKeychainListChangedEvent, kSecTrustSettingsChangedEventMask = 1 << kSecTrustSettingsChangedEvent, kSecEveryEventMask = 0xffffffff };

    Константы

    • kSecLockEventMask

      kSecLockEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда заблокирована цепочка для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecUnlockEventMask

      kSecUnlockEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда разблокирована цепочка для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecAddEventMask

      kSecAddEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда элемент добавляется к цепочке для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecDeleteEventMask

      kSecDeleteEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда элемент удален из цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecUpdateEventMask

      kSecUpdateEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда обновляется элемент цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecPasswordChangedEventMask

      kSecPasswordChangedEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда изменяется пароль цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecDefaultChangedEventMask

      kSecDefaultChangedEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда различная цепочка для ключей указана как значение по умолчанию.

      Доступный в OS X v10.2 и позже.

    • kSecDataAccessEventMask

      kSecDataAccessEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда процесс получает доступ к данным элемента цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecKeychainListChangedMask

      kSecKeychainListChangedMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда изменяется список цепочки для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecTrustSettingsChangedEventMask

      kSecTrustSettingsChangedEventMask

      Если бит, указанный этой маской, установлен, Ваша функция обратного вызова вызывается, когда существует изменение в настройках доверия сертификата.

      Доступный в OS X v10.5 и позже.

    • kSecEveryEventMask

      kSecEveryEventMask

      Если все биты установлены, Ваша функция обратного вызова вызывается каждый раз, когда любое событие имеет место.

      Доступный в OS X v10.2 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Указывает цепочку для ключей атрибуты элемента.

    Объявление

    Swift

    typealias SecItemAttr = FourCharCode

    Objective C

    typedef FourCharCode SecItemAttr; enum { kSecCreationDateItemAttr = 'cdat', kSecModDateItemAttr = 'mdat', kSecDescriptionItemAttr = 'desc', kSecCommentItemAttr = 'icmt', kSecCreatorItemAttr = 'crtr', kSecTypeItemAttr = 'type', kSecScriptCodeItemAttr = 'scrp', kSecLabelItemAttr = 'labl', kSecInvisibleItemAttr = 'invi', kSecNegativeItemAttr = 'nega', kSecCustomIconItemAttr = 'cusi', kSecAccountItemAttr = 'acct', kSecServiceItemAttr = 'svce', kSecGenericItemAttr = 'gena', kSecSecurityDomainItemAttr = 'sdmn', kSecServerItemAttr = 'srvr', kSecAuthenticationTypeItemAttr = 'atyp', kSecPortItemAttr = 'port', kSecPathItemAttr = 'path', kSecVolumeItemAttr = 'vlme', kSecAddressItemAttr = 'addr', kSecSignatureItemAttr = 'ssig', kSecProtocolItemAttr = 'ptcl', kSecCertificateType = 'ctyp', kSecCertificateEncoding = 'cenc', kSecCrlType = 'crtp', kSecCrlEncoding = 'crnc', kSecAlias = 'alis' };

    Константы

    • kSecCreationDateItemAttr

      kSecCreationDateItemAttr

      Идентифицирует атрибут даты создания.

      Вы используете этот тег для получения строкового значения, представляющего дату, элемент был создан, выражен в формате Всемирного времени («YYYYMMDDhhmmssZ»). Это - собственный формат для сохраненных временных стоимостей в спецификации CDSA (определенный как CSSM_DB_ATTRIBUTE_FORMAT_TIME_DATE в CSSM_DB_ATTRIBUTE_FORMAT перечисление, Раздел 17.2.6.). При указании даты создания как ввод к функции (например, SecKeychainSearchCreateFromAttributes), можно альтернативно обеспечить числовое значение типа UInt32 или SInt64, выраженный как секунды с 01 января 1904.

      Доступный в OS X v10.2 и позже.

    • kSecModDateItemAttr

      kSecModDateItemAttr

      Идентифицирует атрибут даты модификации.

      Вы используете этот тег для получения строкового значения, представляющего дату, элемент был создан, выражен в формате Всемирного времени («YYYYMMDDhhmmssZ»). Это - собственный формат для сохраненных временных стоимостей в спецификации CDSA (определенный как CSSM_DB_ATTRIBUTE_FORMAT_TIME_DATE в CSSM_DB_ATTRIBUTE_FORMAT перечисление, Раздел 17.2.6.). При указании даты создания как ввод к функции (например, SecKeychainSearchCreateFromAttributes), можно альтернативно обеспечить числовое значение типа UInt32 или SInt64, выраженный как секунды с 01 января 1904.

      Доступный в OS X v10.2 и позже.

    • kSecDescriptionItemAttr

      kSecDescriptionItemAttr

      Идентифицирует атрибут описания.

      Вы используете этот тег, чтобы установить или получить строковое значение, представляющее видимую пользователем строку, описывающую этот определенный вид элемента, например “пароль образа диска”. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecCommentItemAttr

      kSecCommentItemAttr

      Идентифицирует атрибут комментария.

      Вы используете этот тег, чтобы установить или получить строковое значение, представляющее доступную для редактирования пользователем строку, содержащую комментарии для этого элемента. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecCreatorItemAttr

      kSecCreatorItemAttr

      Идентифицирует атрибут создателя.

      Вы используете этот тег, чтобы установить или получить значение типа FourCharCode это представляет создателя элемента.

      Доступный в OS X v10.2 и позже.

    • kSecTypeItemAttr

      kSecTypeItemAttr

      Идентифицирует атрибут типа.

      Вы используете этот тег, чтобы установить или получить значение типа FourCharCode это представляет тип элемента.

      Доступный в OS X v10.2 и позже.

    • kSecScriptCodeItemAttr

      kSecScriptCodeItemAttr

      Идентифицирует атрибут кода сценария.

      Вы используете этот тег, чтобы установить или получить значение типа ScriptCode это представляет код сценария для всех строк. Использование этого атрибута осуждается; строковые атрибуты должны всегда быть сохранены в кодировании UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecLabelItemAttr

      kSecLabelItemAttr

      Идентифицирует атрибут метки.

      Вы используете этот тег, чтобы установить или получить строковое значение, представляющее доступную для редактирования пользователем строку, содержащую метку для этого элемента. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecInvisibleItemAttr

      kSecInvisibleItemAttr

      Идентифицирует невидимый атрибут.

      Вы используете этот тег, чтобы установить или получить значение типа Boolean это указывает, невидим ли элемент (т.е. не должен быть выведен на экран).

      Доступный в OS X v10.2 и позже.

    • kSecNegativeItemAttr

      kSecNegativeItemAttr

      Идентифицирует отрицательный атрибут.

      Вы используете этот тег, чтобы установить или получить значение типа Boolean это указывает, существует ли действительный пароль, связанный с этим элементом цепочки для ключей. Это полезно, если Ваше приложение не хочет, чтобы пароль для некоторой определенной службы был сохранен в цепочке для ключей, но предпочитает, чтобы это всегда было введено пользователем. Элемент, который обычно невидим и с данными нулевой длины, действует как заполнитель.

      Доступный в OS X v10.2 и позже.

    • kSecCustomIconItemAttr

      kSecCustomIconItemAttr

      Идентифицирует атрибут пользовательского значка.

      Использование этого атрибута осуждается. Пользовательские значки для цепочек для ключей не поддерживаются в OS X.

      Доступный в OS X v10.2 и позже.

    • kSecAccountItemAttr

      kSecAccountItemAttr

      Идентифицирует атрибут учетной записи.

      Вы используете этот тег, чтобы установить или получить строку, представляющую учетную запись пользователя. Это также применяется к универсальный, Интернет и элементы пароля AppleShare. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecServiceItemAttr

      kSecServiceItemAttr

      Идентифицирует атрибут службы.

      Вы используете этот тег, чтобы установить или получить строку, представляющую службу, связанную с этим элементом, например, «iTools». Это уникально для универсальных атрибутов пароля. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecGenericItemAttr

      kSecGenericItemAttr

      Идентифицирует универсальный атрибут.

      Вы используете этот тег, чтобы установить или получить значение невведенных байтов, представляющее определяемый пользователем атрибут. Это уникально для универсальных атрибутов пароля.

      Доступный в OS X v10.2 и позже.

    • kSecSecurityDomainItemAttr

      kSecSecurityDomainItemAttr

      Идентифицирует атрибут домена защиты.

      Вы используете этот тег, чтобы установить или получить значение, представляющее домен Защиты в сети Интернет. Это уникально для интернет-атрибутов пароля.

      Доступный в OS X v10.2 и позже.

    • kSecServerItemAttr

      kSecServerItemAttr

      Идентифицирует атрибут сервера.

      Вы используете этот тег, чтобы установить или получить строку, представляющую доменное имя Интернет-сервера или IP-адрес. Это уникально для интернет-атрибутов пароля. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecAuthenticationTypeItemAttr

      kSecAuthenticationTypeItemAttr

      Идентифицирует атрибут типа аутентификации.

      Вы используете этот тег, чтобы установить или получить значение типа SecAuthenticationType это представляет интернет-схему аутентификации. Для возможных значений аутентификации посмотрите Константы Типа аутентификации Цепочки для ключей. Это уникально для интернет-атрибутов пароля.

      Доступный в OS X v10.2 и позже.

    • kSecPortItemAttr

      kSecPortItemAttr

      Идентифицирует атрибут порта.

      Вы используете этот тег, чтобы установить или получить значение типа UInt32 это представляет интернет-номер порта. Это уникально для интернет-атрибутов пароля.

      Доступный в OS X v10.2 и позже.

    • kSecPathItemAttr

      kSecPathItemAttr

      Идентифицирует атрибут пути.

      Вы используете этот тег, чтобы установить или получить строковое значение, представляющее путь. Это уникально для интернет-атрибутов пароля. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecVolumeItemAttr

      kSecVolumeItemAttr

      Идентифицирует атрибут объема.

      Вы используете этот тег, чтобы установить или получить строковое значение, представляющее объем AppleShare. Это уникально для атрибутов пароля AppleShare. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecAddressItemAttr

      kSecAddressItemAttr

      Идентифицирует атрибут адреса.

      Вы используете этот тег, чтобы установить или получить значение типа string это представляет имя зоны AppleTalk, или IP или доменное имя, представляющее адрес сервера. Это уникально для атрибутов пароля AppleShare. Строки цепочки для ключей должны использовать кодирование UTF-8.

      Доступный в OS X v10.2 и позже.

    • kSecSignatureItemAttr

      kSecSignatureItemAttr

      Идентифицирует атрибут подписи сервера.

      Вы используете этот тег, чтобы установить или получить значение типа SecAFPServerSignature это представляет сигнатурный блок сервера. Это уникально для атрибутов пароля AppleShare.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolItemAttr

      kSecProtocolItemAttr

      Идентифицирует атрибут протокола.

      Вы используете этот тег, чтобы установить или получить значение типа SecProtocolType это представляет Протокол Интернета. Для возможных значений типа протокола посмотрите Константы Типа протокола Цепочки для ключей. Это уникально для AppleShare и интернет-атрибутов пароля.

      Доступный в OS X v10.2 и позже.

    • kSecCertificateType

      kSecCertificateType

      Указывает a CSSM_CERT_TYPE ввести.

      Доступный в OS X v10.2 и позже.

    • kSecCertificateEncoding

      kSecCertificateEncoding

      Указывает a CSSM_CERT_ENCODING ввести.

      Доступный в OS X v10.2 и позже.

    • kSecCrlType

      kSecCrlType

      Указывает a CSSM_CRL_TYPE ввести.

      Доступный в OS X v10.2 и позже.

    • kSecCrlEncoding

      kSecCrlEncoding

      Указывает a CSSM_CRL_ENCODING ввести.

      Доступный в OS X v10.2 и позже.

    • kSecAlias

      kSecAlias

      Указывает псевдоним.

      Доступный в OS X v10.2 и позже.

    Обсуждение

    Не все эти атрибуты используются для всех типов элементов. То, какой набор атрибутов существуют для каждого типа элемента, документируется в главу «Data Storage Library Services» Коллективной безопасности: CDSA и CSSM, версия 2 (с исправлениями) от Open Group (http://www .opengroup.org/security/cdsa.htm) для стандартных товаров и в разделе DL Информации о версии Безопасности для определенных Apple типов изделия (если таковые имеются).

    Для получения информации о сертификате используйте Certificate Library (CL) CDSA API. Для получения информации о ключе используйте SecKeyGetCSSMKey функционируйте и Провайдер криптографических служб (CSP) CDSA API.

    Для атрибутов для ключей посмотрите Константы Атрибута Элемента Цепочки для ключей Для Ключей.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Указывает атрибуты для ключевого элемента в цепочке для ключей.

    Объявление

    Swift

    var kSecKeyKeyClass: Int { get } var kSecKeyPrintName: Int { get } var kSecKeyAlias: Int { get } var kSecKeyPermanent: Int { get } var kSecKeyPrivate: Int { get } var kSecKeyModifiable: Int { get } var kSecKeyLabel: Int { get } var kSecKeyApplicationTag: Int { get } var kSecKeyKeyCreator: Int { get } var kSecKeyKeyType: Int { get } var kSecKeyKeySizeInBits: Int { get } var kSecKeyEffectiveKeySize: Int { get } var kSecKeyStartDate: Int { get } var kSecKeyEndDate: Int { get } var kSecKeySensitive: Int { get } var kSecKeyAlwaysSensitive: Int { get } var kSecKeyExtractable: Int { get } var kSecKeyNeverExtractable: Int { get } var kSecKeyEncrypt: Int { get } var kSecKeyDecrypt: Int { get } var kSecKeyDerive: Int { get } var kSecKeySign: Int { get } var kSecKeyVerify: Int { get } var kSecKeySignRecover: Int { get } var kSecKeyVerifyRecover: Int { get } var kSecKeyWrap: Int { get } var kSecKeyUnwrap: Int { get }

    Objective C

    enum { kSecKeyKeyClass =0, kSecKeyPrintName =1, kSecKeyAlias =2, kSecKeyPermanent =3, kSecKeyPrivate =4, kSecKeyModifiable =5, kSecKeyLabel =6, kSecKeyApplicationTag =7, kSecKeyKeyCreator =8, kSecKeyKeyType =9, kSecKeyKeySizeInBits =10, kSecKeyEffectiveKeySize =11, kSecKeyStartDate =12, kSecKeyEndDate =13, kSecKeySensitive =14, kSecKeyAlwaysSensitive =15, kSecKeyExtractable =16, kSecKeyNeverExtractable =17, kSecKeyEncrypt =18, kSecKeyDecrypt =19, kSecKeyDerive =20, kSecKeySign =21, kSecKeyVerify =22, kSecKeySignRecover =23, kSecKeyVerifyRecover =24, kSecKeyWrap =25, kSecKeyUnwrap =26 };

    Константы

    • kSecKeyKeyClass

      kSecKeyKeyClass

      Тип uint32 (CSSM_KEYCLASS); значение является одним из CSSM_KEYCLASS_PUBLIC_KEY, CSSM_KEYCLASS_PRIVATE_KEY или CSSM_KEYCLASS_SESSION_KEY.

      Доступный в OS X v10.4 и позже.

    • kSecKeyPrintName

      kSecKeyPrintName

      Введите блоб; человекочитаемое имя ключа. То же как kSecLabelItemAttr для нормальных элементов цепочки для ключей.

      Доступный в OS X v10.4 и позже.

    • kSecKeyAlias

      kSecKeyAlias

      Введите блоб; в настоящее время неиспользованный.

      Доступный в OS X v10.4 и позже.

    • kSecKeyPermanent

      kSecKeyPermanent

      Тип uint32; значение является ненулевым. Этот ключ является постоянным (сохраненный в некоторой цепочке для ключей) и всегда 1.

      Доступный в OS X v10.4 и позже.

    • kSecKeyPrivate

      kSecKeyPrivate

      Тип uint32; значение является ненулевым. Этот ключ защищен пользовательским входом в систему, паролем или обоими.

      Доступный в OS X v10.4 и позже.

    • kSecKeyModifiable

      kSecKeyModifiable

      Тип uint32; значение является ненулевым. Атрибуты этого ключа могут быть изменены.

      Доступный в OS X v10.4 и позже.

    • kSecKeyLabel

      kSecKeyLabel

      Введите блоб; для закрытых и открытых ключей это содержит хеш открытого ключа. Это используется для соединения сертификатов и ключей. Его значение соответствует значение kSecPublicKeyHashItemAttr атрибут сертификата и это используется для построения идентификационных данных из сертификата и ключа. Для симметричных ключей это - то, что создатель ключа передал в том, когда они генерировали ключ.

      Доступный в OS X v10.4 и позже.

    • kSecKeyApplicationTag

      kSecKeyApplicationTag

      Введите блоб; в настоящее время неиспользованный.

      Доступный в OS X v10.4 и позже.

    • kSecKeyKeyCreator

      kSecKeyKeyCreator

      Введите данные. Точки данных к a CSSM_GUID структура, представляющая модуль ID CSP, владеющего этим ключом.

      Доступный в OS X v10.4 и позже.

    • kSecKeyKeyType

      kSecKeyKeyType

      Тип uint32; значение является алгоритмом CSSM (CSSM_ALGORITHMS) представление алгоритма связалось с этим ключом.

      Доступный в OS X v10.4 и позже.

    • kSecKeyKeySizeInBits

      kSecKeyKeySizeInBits

      Тип uint32; значение является числом битов в этом ключе.

      Доступный в OS X v10.4 и позже.

    • kSecKeyEffectiveKeySize

      kSecKeyEffectiveKeySize

      Тип uint32; значение является эффективным числом битов в этом ключе. Например, ключ DES имеет размер ключа в битах (kSecKeyKeySizeInBits) из 64, но значение для kSecKeyEffectiveKeySize из 56.

      Доступный в OS X v10.4 и позже.

    • kSecKeyStartDate

      kSecKeyStartDate

      Ввести CSSM_DATE. Самая ранняя дата, в которой может использоваться этот ключ. Если значение является всеми нулями или не существующее, никакое ограничение не применяется.

      Доступный в OS X v10.4 и позже.

    • kSecKeyEndDate

      kSecKeyEndDate

      Ввести CSSM_DATE. Последняя дата, в которой может использоваться этот ключ. Если значение является всеми нулями или не существующее, никакое ограничение не применяется.

      Доступный в OS X v10.4 и позже.

    • kSecKeySensitive

      kSecKeySensitive

      Тип uint32; значение является ненулевым. Этот ключ не может быть обернут с CSSM_ALGID_NONE.

      Доступный в OS X v10.4 и позже.

    • kSecKeyAlwaysSensitive

      kSecKeyAlwaysSensitive

      Тип uint32; значение является ненулевым. Этот ключ всегда отмечался чувствительный.

      Доступный в OS X v10.4 и позже.

    • kSecKeyExtractable

      kSecKeyExtractable

      Тип uint32; значение является ненулевым. Этот ключ может быть обернут.

      Доступный в OS X v10.4 и позже.

    • kSecKeyNeverExtractable

      kSecKeyNeverExtractable

      Тип uint32; значение является ненулевым. Этот ключ никогда не отмечался извлекаемый.

      Доступный в OS X v10.4 и позже.

    • kSecKeyEncrypt

      kSecKeyEncrypt

      Тип uint32; значение является ненулевым. Этот ключ может использоваться в зашифровать работе.

      Доступный в OS X v10.4 и позже.

    • kSecKeyDecrypt

      kSecKeyDecrypt

      Тип uint32; значение является ненулевым. Этот ключ может использоваться в дешифровать работе.

      Доступный в OS X v10.4 и позже.

    • kSecKeyDerive

      kSecKeyDerive

      Тип uint32; значение является ненулевым. Этот ключ может использоваться в ключевой работе деривации.

      Доступный в OS X v10.4 и позже.

    • kSecKeySign

      kSecKeySign

      Тип uint32, значение является ненулевым. Этот ключ может использоваться в работе знака.

      Доступный в OS X v10.4 и позже.

    • kSecKeyVerify

      kSecKeyVerify

      Тип uint32, значение является ненулевым. Этот ключ может использоваться в проверять работе.

      Доступный в OS X v10.4 и позже.

    • kSecKeySignRecover

      kSecKeySignRecover

      Тип uint32.

      Доступный в OS X v10.4 и позже.

    • kSecKeyVerifyRecover

      kSecKeyVerifyRecover

      Тип uint32. Этот ключ может развернуть другие ключи.

      Доступный в OS X v10.4 и позже.

    • kSecKeyWrap

      kSecKeyWrap

      Тип uint32; значение является ненулевым. Этот ключ может обернуть другие ключи.

      Доступный в OS X v10.4 и позже.

    • kSecKeyUnwrap

      kSecKeyUnwrap

      Тип uint32; значение является ненулевым. Этот ключ может развернуть другие ключи.

      Доступный в OS X v10.4 и позже.

    Обсуждение

    Для атрибутов для элементов кроме ключей посмотрите Константы Атрибута Элемента Цепочки для ключей.

  • Указывает код класса элемента цепочки для ключей.

    Объявление

    Swift

    typealias SecItemClass = FourCharCode

    Objective C

    typedef FourCharCode SecItemClass; enum { /* SecKeychainItem.h */ kSecInternetPasswordItemClass = 'inet', kSecGenericPasswordItemClass = 'genp', kSecAppleSharePasswordItemClass = 'ashp', kSecCertificateItemClass = CSSM_DL_DB_RECORD_X509_CERTIFICATE, kSecPublicKeyItemClass = CSSM_DL_DB_RECORD_PUBLIC_KEY, kSecPrivateKeyItemClass = CSSM_DL_DB_RECORD_PRIVATE_KEY, kSecSymmetricKeyItemClass = CSSM_DL_DB_RECORD_SYMMETRIC_KEY }; enum { /* Record Type defined in The Open Group Application Name Space */ /* cssmtype.h */ CSSM_DL_DB_RECORD_ALL_KEYS = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 8 };

    Константы

    • kSecInternetPasswordItemClass

      kSecInternetPasswordItemClass

      Указывает, что элемент является интернет-паролем.

      Доступный в OS X v10.2 и позже.

    • kSecGenericPasswordItemClass

      kSecGenericPasswordItemClass

      Указывает, что элемент является универсальным паролем.

      Доступный в OS X v10.2 и позже.

    • kSecAppleSharePasswordItemClass

      kSecAppleSharePasswordItemClass

      Указывает, что элемент является паролем AppleShare.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.9.

    • kSecCertificateItemClass

      kSecCertificateItemClass

      Указывает, что элемент является сертификатом X509.

      Доступный в OS X v10.2 и позже.

    • kSecPublicKeyItemClass

      kSecPublicKeyItemClass

      Указывает, что элемент является открытым ключом общедоступно-частной пары.

      Доступный в OS X v10.5 и позже.

    • kSecPrivateKeyItemClass

      kSecPrivateKeyItemClass

      Указывает, что элемент является закрытым ключом общедоступно-частной пары.

      Доступный в OS X v10.5 и позже.

    • kSecSymmetricKeyItemClass

      kSecSymmetricKeyItemClass

      Указывает, что элемент является закрытым ключом, используемым для шифрования с симметричным ключом.

      Доступный в OS X v10.5 и позже.

    • CSSM_DL_DB_RECORD_ALL_KEYS

      CSSM_DL_DB_RECORD_ALL_KEYS

      Элемент может быть любым типом ключа; используемый для поисков только.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Эти перечисления определяют константы, которые Ваше приложение может использовать для указания типа элемента цепочки для ключей, который Вы хотите создать, расположить, добавить, удалить, обновить, скопировать или расположиться. Можно также использовать эти константы с постоянным тегом SecItemAttr.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Определяет значения для флагов экспорта и импорта.

    Объявление

    Swift

    typealias SecItemImportExportFlags = UInt32

    Objective C

    enum { kSecItemPemArmour = 0x00000001, }; typedef uint32_t SecItemImportExportFlags;

    Константы

    • kSecItemPemArmour

      kSecItemPemArmour

      Экспортируемые данные должны иметь броню PEM.

      Доступный в OS X v10.4 и позже.

    Обсуждение

    Это перечисление перечисляет значения, используемые flags параметр функций SecKeychainItemExport и SecKeychainItemImport.

    Броня PEM именует способ выразить двоичных данных как строку ASCII так, чтобы она могла быть передана по каналам только для текста, таким как электронная почта. (PEM обозначает интернет-стандарт, Почту с усовершенствованной защитой.)

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.4 и позже.

  • Определяет значения для flags поле параметров импорта/экспорта.

    Объявление

    Swift

    typealias SecKeyImportExportFlags = UInt32

    Objective C

    enum { kSecKeyImportOnlyOne = 0x00000001, kSecKeySecurePassphrase = 0x00000002, kSecKeyNoAccessControl = 0x00000004 }; typedef uint32_t SecKeyImportExportFlags;

    Константы

    • kSecKeyImportOnlyOne

      kSecKeyImportOnlyOne

      Предотвращает импорт больше чем одного закрытого ключа SecKeychainItemImport функция. Если importKeychain параметр NULL, этот бит проигнорирован. Иначе, если этот бит установлен и существует, больше чем один вводит входящее внешнее представление, никакие элементы не импортируются в указанную цепочку для ключей и ошибку errSecMultipleKeys возвращается.

      Доступный в OS X v10.4 и позже.

    • kSecKeySecurePassphrase

      kSecKeySecurePassphrase

      Когда установлено, пароль для импорта или экспорта получен пользовательской подсказкой. (Пароль иногда упоминается как пароль для подчеркивания факта, что более длинная строка, включающая символы небуквы, такие как числа, пунктуация и пробелы, более безопасна, чем простое слово.) Иначе, необходимо обеспечить пароль в passphrase поле SecKeyImportExportParameters структура. Предоставленный пользователями пароль предпочтен, потому что он избегает иметь пароль в виде открытого текста, появляются в адресном пространстве приложения в любое время.

      Доступный в OS X v10.4 и позже.

    • kSecKeyNoAccessControl

      kSecKeyNoAccessControl

      Когда установлено, импортированные закрытые ключи не имеют никакого объекта доступа, присоединенного к ним. И в отсутствие этого бита и в отсутствие accessRef поле в SecKeyImportExportParameters, импортированным закрытым ключам дают средства управления доступом по умолчанию.

      Доступный в OS X v10.4 и позже.

    Обсуждение

    Эти флаги используются в качестве ввода к структуре параметров импорта/экспорта (SecKeyImportExportParameters, который поочередно используется в качестве ввода к функциям SecKeychainItemExport и SecKeychainItemImport.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.4 и позже.

  • Указывает формат элемента после экспорта от или перед импортом в цепочку для ключей.

    Объявление

    Swift

    typealias SecExternalFormat = UInt32

    Objective C

    enum { kSecFormatUnknown = 0, /* Asymmetric Key Formats */ kSecFormatOpenSSL, kSecFormatSSH, kSecFormatBSAFE, kSecFormatSSHv2, /* Symmetric Key Formats */ kSecFormatRawKey, /* Formats for wrapped symmetric and private keys */ kSecFormatWrappedPKCS8, kSecFormatWrappedOpenSSL, kSecFormatWrappedSSH, kSecFormatWrappedLSH , //not supported /* Formats for certificates */ kSecFormatX509Cert, /* Aggregate Types */ kSecFormatPEMSequence, kSecFormatPKCS7, kSecFormatPKCS12, kSecFormatNetscapeCertSequence }; typedef uint32_t SecExternalFormat;

    Константы

    • kSecFormatUnknown

      kSecFormatUnknown

      При импорте, указывает, что формат неизвестен. При экспорте используйте формат по умолчанию для элемента. Для асимметричных ключей значение по умолчанию kSecFormatOpenSSL. Для симметричных ключей значение по умолчанию kSecFormatRawKey. Для сертификатов значение по умолчанию kSecFormatX509Cert. Для многократных элементов значение по умолчанию kSecFormatPEMSequence.

      Доступный в OS X v10.4 и позже.

    • kSecFormatOpenSSL

      kSecFormatOpenSSL

      Формат для асимметричных (общедоступных/частных) ключей. OpenSSL является инструментарием с открытым исходным кодом для Уровня защищенных сокетов (SSL) и Transport Layer Security (TLS). Также известный как X.509 для открытых ключей.

      Доступный в OS X v10.4 и позже.

    • kSecFormatSSH

      kSecFormatSSH

      Формат OpenSSH 1 для асимметричных (общедоступных/частных) ключей. OpenSSH является реализацией OpenBSD Безопасного Shell (SSH) протокол.

      Доступный в OS X v10.4 и позже.

    • kSecFormatBSAFE

      kSecFormatBSAFE

      Формат для асимметричных ключей. BSAFE является стандартом из Безопасности RSA для шифрования, цифровых подписей и конфиденциальности.

      Доступный в OS X v10.4 и позже.

    • kSecFormatSSHv2

      kSecFormatSSHv2

      Формат OpenSSH 2 для открытых ключей. Закрытые ключи версии 2 OpenSSH находятся в формате kSecFormatOpenSSL или kSecFormatWrappedOpenSSL. OpenSSH является реализацией OpenBSD Безопасного Shell (SSH) протокол.

      Доступный в OS X v10.5 и позже.

    • kSecFormatRawKey

      kSecFormatRawKey

      Формат для симметричных ключей. Сырые данные, восстановленные после форматирования ключевые биты. Это - значение по умолчанию для симметричных ключей.

      Доступный в OS X v10.4 и позже.

    • kSecFormatWrappedPKCS8

      kSecFormatWrappedPKCS8

      Формат для обернутых симметричных и закрытых ключей. PKCS8 является информационным Стандартом Синтаксиса С закрытым ключом из Безопасности RSA.

      Доступный в OS X v10.4 и позже.

    • kSecFormatWrappedOpenSSL

      kSecFormatWrappedOpenSSL

      Формат для обернутых симметричных и закрытых ключей. OpenSSL является инструментарием с открытым исходным кодом для Уровня защищенных сокетов (SSL) и Transport Layer Security (TLS).

      Доступный в OS X v10.4 и позже.

    • kSecFormatWrappedSSH

      kSecFormatWrappedSSH

      Формат OpenSSH 1 для обернутых симметричных и закрытых ключей. OpenSSH является реализацией OpenBSD Безопасного Shell (SSH) протокол.

      Доступный в OS X v10.4 и позже.

    • kSecFormatWrappedLSH

      kSecFormatWrappedLSH

      Не поддерживаемый.

      Доступный в OS X v10.4 и позже.

    • kSecFormatX509Cert

      kSecFormatX509Cert

      Формат для сертификатов. DER (отличенные правила кодирования) закодированный. X.509 является стандартом для цифровых сертификатов от Международного союза электросвязи (ITU). Это - значение по умолчанию для сертификатов.

      Доступный в OS X v10.4 и позже.

    • kSecFormatPEMSequence

      kSecFormatPEMSequence

      Последовательность сертификатов и ключей с броней PEM. Броня PEM именует способ выразить двоичных данных как строку ASCII так, чтобы она могла быть передана по каналам только для текста, таким как электронная почта. Это - формат по умолчанию для многократных элементов.

      Доступный в OS X v10.4 и позже.

    • kSecFormatPKCS7

      kSecFormatPKCS7

      Последовательность сертификатов, никакой брони PEM. PKCS7 является Криптографическим Стандартом Синтаксиса сообщения от RSA Security, Inc.

      Доступный в OS X v10.4 и позже.

    • kSecFormatPKCS12

      kSecFormatPKCS12

      Набор сертификатов и закрытых ключей. PKCS12 является Синтаксис Exchange Персональных данных от RSA Security, Inc.

      Доступный в OS X v10.4 и позже.

    • kSecFormatNetscapeCertSequence

      kSecFormatNetscapeCertSequence

      Набор сертификатов в формате Последовательности Сертификата Netscape.

      Доступный в OS X v10.4 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.4 и позже.

  • Указывает тип импортируемого элемента цепочки для ключей.

    Объявление

    Swift

    typealias SecExternalItemType = UInt32

    Objective C

    enum { kSecItemTypeUnknown , /* caller doesn't know what this is */ kSecItemTypePrivateKey, kSecItemTypePublicKey, kSecItemTypeSessionKey, kSecItemTypeCertificate, kSecItemTypeAggregate }; typedef uint32_t SecExternalItemType;

    Константы

    • kSecItemTypeUnknown

      kSecItemTypeUnknown

      Указывает, что вызывающая сторона не знает тип информации, импортируемой или экспортируемой.

      Доступный в OS X v10.4 и позже.

    • kSecItemTypePrivateKey

      kSecItemTypePrivateKey

      Указывает закрытый ключ.

      Доступный в OS X v10.4 и позже.

    • kSecItemTypePublicKey

      kSecItemTypePublicKey

      Указывает открытый ключ.

      Доступный в OS X v10.4 и позже.

    • kSecItemTypeSessionKey

      kSecItemTypeSessionKey

      Указывает сеансовый ключ.

      Доступный в OS X v10.4 и позже.

    • kSecItemTypeCertificate

      kSecItemTypeCertificate

      Указывает сертификат.

      Доступный в OS X v10.4 и позже.

    • kSecItemTypeAggregate

      kSecItemTypeAggregate

      Указывает ряд сертификатов или сертификатов и закрытых ключей, такой как PKCS7, PKCS12, или kSecFormatPEMSequence форматы (см. Импорт/Форматы экспорта Элемента Цепочки для ключей).

      Доступный в OS X v10.4 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.4 и позже.

  • Предопределенные ключевые константы, используемые при передаче основанных на словаре параметров для импорта функций.

    Объявление

    Swift

    var kSecImportExportPassphrase: Unmanaged<CFString>! var kSecImportExportKeychain: Unmanaged<CFString>! var kSecImportExportAccess: Unmanaged<CFString>!

    Objective C

    extern CFStringRef kSecImportExportPassphrase; extern CFStringRef kSecImportExportKeychain; extern CFStringRef kSecImportExportAccess;

    Константы

    • kSecImportExportPassphrase

      kSecImportExportPassphrase

      Пароль (представленный a CFStringRef объект), чтобы использоваться при экспорте в или импорте из формата PKCS#12.

      Доступный в OS X v10.6 и позже.

    • kSecImportExportKeychain

      kSecImportExportKeychain

      Цепочка для ключей, представленная SecKeychainRef, который будет использоваться в качестве цели при импорте или экспорте.

      Доступный в OS X v10.7 и позже.

    • kSecImportExportAccess

      kSecImportExportAccess

      Первоначальный список управления доступом представлен a SecAccessRef объект.

      Доступный в OS X v10.7 и позже.

  • Определяет константы для предпочтительных доменов цепочки для ключей.

    Объявление

    Swift

    struct SecPreferencesDomain { init(_ value: UInt32) var value: UInt32 }

    Objective C

    typedef enum { kSecPreferencesDomainUser, kSecPreferencesDomainSystem, kSecPreferencesDomainCommon, kSecPreferencesDomainAlternate, kSecPreferencesDomainDynamic } SecPreferencesDomain;

    Константы

    • kSecPreferencesDomainUser

      kSecPreferencesDomainUser

      Указывает предпочтения домена пользовательской настройки.

      Доступный в OS X v10.3 и позже.

    • kSecPreferencesDomainSystem

      kSecPreferencesDomainSystem

      Указывает систему или предпочтительные предпочтения домена демона.

      Доступный в OS X v10.3 и позже.

    • kSecPreferencesDomainCommon

      kSecPreferencesDomainCommon

      Указывает, что предпочтения характерны для всех.

      Доступный в OS X v10.3 и позже.

    • kSecPreferencesDomainAlternate

      kSecPreferencesDomainAlternate

      Указывает альтернативный предпочтительный домен предпочтения.

      Доступный в OS X v10.3 через OS X v10.3.

      Не доступный 64-разрядным приложениям.

    • kSecPreferencesDomainDynamic

      kSecPreferencesDomainDynamic

      Указывает динамический поисковый список (обычно предоставленный съемными цепочками для ключей, такими как смарт-карты).

      Доступный в OS X v10.4 и позже.

    Обсуждение

    Предпочтительный домен является рядом связанных с безопасностью предпочтений, таких как цепочка для ключей по умолчанию и текущий список поиска цепочки для ключей. Предпочтительный домен по умолчанию для системных демонов (т.е. для демонов, работающих в корневом сеансе), является системным доменом. Предпочтительный домен по умолчанию для всех других программ является пользовательским доменом. Общее предпочтение появляется для всех пользователей и системы; например, если Вы добавляете цепочку для ключей к использованию списка поиска цепочки для ключей kSecPreferencesDomainCommon для предпочтительного домена цепочка для ключей добавляется к поисковому списку для всех пользователей и системы.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.3 и позже.

  • Определяет тип протокола, связанный с интернет-паролем или AppleShare.

    Объявление

    Swift

    typealias SecProtocolType = FourCharCode

    Objective C

    typedef FourCharCode SecProtocolType; enum { kSecProtocolTypeFTP = 'ftp ', kSecProtocolTypeFTPAccount = 'ftpa', kSecProtocolTypeHTTP = 'http', kSecProtocolTypeIRC = 'irc ', kSecProtocolTypeNNTP = 'nntp', kSecProtocolTypePOP3 = 'pop3', kSecProtocolTypeSMTP = 'smtp', kSecProtocolTypeSOCKS = 'sox ', kSecProtocolTypeIMAP = 'imap', kSecProtocolTypeLDAP = 'ldap', kSecProtocolTypeAppleTalk = 'atlk', kSecProtocolTypeAFP = 'afp ', kSecProtocolTypeTelnet = 'teln', kSecProtocolTypeSSH = 'ssh ', kSecProtocolTypeFTPS = 'ftps', kSecProtocolTypeHTTPS = 'htps', kSecProtocolTypeHTTPProxy = 'htpx', kSecProtocolTypeHTTPSProx = 'htsx', kSecProtocolTypeFTPProxy = 'ftpx', kSecProtocolTypeCIFS = 'cifs', kSecProtocolTypeSMB = 'smb ', kSecProtocolTypeRTSP = 'rtsp', kSecProtocolTypeRTSPProxy = 'rtsx', kSecProtocolTypeDAAP = 'daap', kSecProtocolTypeEPPC = 'eppc', kSecProtocolTypeIPP = 'ipp ', kSecProtocolTypeNNTPS = 'ntps', kSecProtocolTypeLDAPS = 'ldps', kSecProtocolTypeTelnetS = 'tels', kSecProtocolTypeIMAPS = 'imps', kSecProtocolTypeIRCS = 'ircs', kSecProtocolTypePOP3S = 'pops', kSecProtocolTypeCVSpserver = 'cvsp', kSecProtocolTypeSVN = 'svn ', kSecProtocolTypeAny = 0 };

    Константы

    • kSecProtocolTypeFTP

      kSecProtocolTypeFTP

      Указывает FTP.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeFTPAccount

      kSecProtocolTypeFTPAccount

      Указывает клиентскую сторону учетная запись FTP. Использование этой константы осуждается с OS X v10.3.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeHTTP

      kSecProtocolTypeHTTP

      Указывает HTTP.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeIRC

      kSecProtocolTypeIRC

      Указывает IRC.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeNNTP

      kSecProtocolTypeNNTP

      Указывает NNTP.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypePOP3

      kSecProtocolTypePOP3

      Указывает POP3.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeSMTP

      kSecProtocolTypeSMTP

      Указывает SMTP.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeSOCKS

      kSecProtocolTypeSOCKS

      Указывает SOCKS.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeIMAP

      kSecProtocolTypeIMAP

      Указывает IMAP.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeLDAP

      kSecProtocolTypeLDAP

      Указывает LDAP.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeAppleTalk

      kSecProtocolTypeAppleTalk

      Указывает AFP по AppleTalk.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeAFP

      kSecProtocolTypeAFP

      Указывает AFP по TCP.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeTelnet

      kSecProtocolTypeTelnet

      Указывает Telnet.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeSSH

      kSecProtocolTypeSSH

      Указывает SSH.

      Доступный в OS X v10.2 и позже.

    • kSecProtocolTypeFTPS

      kSecProtocolTypeFTPS

      Указывает FTP по TLS/SSL.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeHTTPS

      kSecProtocolTypeHTTPS

      Указывает HTTP по TLS/SSL.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeHTTPProxy

      kSecProtocolTypeHTTPProxy

      Указывает Прокси HTTP.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeHTTPSProxy

      kSecProtocolTypeHTTPSProxy

      Указывает прокси HTTPS.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeFTPProxy

      kSecProtocolTypeFTPProxy

      Указывает прокси FTP.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeCIFS

      kSecProtocolTypeCIFS

      Указывает CIFS.

      Доступный в OS X v10.5 и позже.

    • kSecProtocolTypeSMB

      kSecProtocolTypeSMB

      Указывает SMB.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeRTSP

      kSecProtocolTypeRTSP

      Указывает RTSP.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeRTSPProxy

      kSecProtocolTypeRTSPProxy

      Указывает прокси RTSP.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeDAAP

      kSecProtocolTypeDAAP

      Указывает DAAP.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeEPPC

      kSecProtocolTypeEPPC

      Указывает удаленные события Apple.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeIPP

      kSecProtocolTypeIPP

      Указывает IPP.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeNNTPS

      kSecProtocolTypeNNTPS

      Указывает NNTP по TLS/SSL.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeLDAPS

      kSecProtocolTypeLDAPS

      Указывает LDAP по TLS/SSL.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeTelnetS

      kSecProtocolTypeTelnetS

      Указывает Telnet по TLS/SSL.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeIMAPS

      kSecProtocolTypeIMAPS

      Указывает IMAP4 по TLS/SSL.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeIRCS

      kSecProtocolTypeIRCS

      Указывает IRC по TLS/SSL.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypePOP3S

      kSecProtocolTypePOP3S

      Указывает POP3 по TLS/SSL.

      Доступный в OS X v10.3 и позже.

    • kSecProtocolTypeCVSpserver

      kSecProtocolTypeCVSpserver

      Указывает CVS pserver.

      Доступный в OS X v10.5 и позже.

    • kSecProtocolTypeSVN

      kSecProtocolTypeSVN

      Указывает подрывную деятельность.

      Доступный в OS X v10.5 и позже.

    • kSecProtocolTypeAny

      kSecProtocolTypeAny

      Указывает, что любой протокол приемлем.

      При выполнении поиска используйте эту константу, чтобы избежать ограничивать результаты поиска к определенному протоколу.

      Доступный в OS X v10.5 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.2 и позже.

  • Определяет версию настроек цепочки для ключей.

    Объявление

    Swift

    var SEC_KEYCHAIN_SETTINGS_VERS1: Int32 { get }

    Objective C

    #define SEC_KEYCHAIN_SETTINGS_VERS1 1

    Константы

    • SEC_KEYCHAIN_SETTINGS_VERS1

      SEC_KEYCHAIN_SETTINGS_VERS1

      Определяет версию настроек цепочки для ключей.

      Доступный в OS X v10.2 и позже.

  • Определяет текущий статус цепочки для ключей.

    Объявление

    Swift

    typealias SecKeychainStatus = UInt32

    Objective C

    typedef UInt32 SecKeychainStatus; enum { kSecUnlockStateStatus = 1, kSecReadPermStatus = 2, kSecWritePermStatus = 4 };

    Константы

    • kSecUnlockStateStatus

      kSecUnlockStateStatus

      Указывает, что разблокирована цепочка для ключей.

      Доступный в OS X v10.2 и позже.

    • kSecReadPermStatus

      kSecReadPermStatus

      Указывает, что цепочка для ключей читаема.

      Доступный в OS X v10.2 и позже.

    • kSecWritePermStatus

      kSecWritePermStatus

      Указывает, что цепочка для ключей перезаписываема.

      Доступный в OS X v10.2 и позже.

    Обсуждение

    Можно использовать эти маски в комбинации. Например, цепочка для ключей может быть и читаема и перезаписываема.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.0 и позже.

  • Биты, определяющие при использовании цепочки для ключей, должны потребовать пароля.

    Объявление

    Swift

    typealias SecKeychainPromptSelector = uint16

    Objective C

    typedef uint16 SecKeychainPromptSelector; enum { kSecKeychainPromptRequirePassphase = 0x0001 , /* require re-entering of passphrase */ /* the following bits are ignored by 10.4 and earlier */ kSecKeychainPromptUnsigned = 0x0010 , /* prompt for unsigned clients */ kSecKeychainPromptUnsignedAct = 0x0020 , /* UNSIGNED bit overrides system default */ kSecKeychainPromptInvalid = 0x0040 , /* prompt for invalid signed clients */ kSecKeychainPromptInvalidAct = 0x0080, };

    Константы

    • kSecKeychainPromptRequirePassphase

      kSecKeychainPromptRequirePassphase

      Указывает, что пароль должен требоваться для каждого доступа.

      Доступный в OS X v10.7 и позже.

    • kSecKeychainPromptUnsigned

      kSecKeychainPromptUnsigned

      Указывает, что пароль должен требоваться, когда приложение без знака пытается использовать цепочку для ключей, переопределяя системное значение по умолчанию.

      Доступный в OS X v10.7 и позже.

    • kSecKeychainPromptUnsignedAct

      kSecKeychainPromptUnsignedAct

      Указывает, что пароль должен требоваться, когда приложение без знака пытается использовать цепочку для ключей.

      Доступный в OS X v10.7 и позже.

    • kSecKeychainPromptInvalid

      kSecKeychainPromptInvalid

      Указывает, что пароль должен требоваться, когда приложение с недействительной подписью пытается использовать цепочку для ключей, переопределяя системное значение по умолчанию.

      Доступный в OS X v10.7 и позже.

    • kSecKeychainPromptInvalidAct

      kSecKeychainPromptInvalidAct

      Указывает, что пароль должен требоваться, когда приложение с недействительной подписью пытается использовать цепочку для ключей.

      Доступный в OS X v10.7 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

  • Флаги, используемые при создании записи списка управления доступом.

    Объявление

    Swift

    typealias SecAccessOwnerType = UInt32

    Objective C

    typedef UInt32 SecAccessOwnerType; enum { kSecUseOnlyUID = 1, kSecUseOnlyGID = 2, kSecHonorRoot = 0x100, kSecMatchBits = (kSecUseOnlyUID | kSecUseOnlyGID ) };

    Константы

    • kSecUseOnlyUID

      kSecUseOnlyUID

      Указывает, что сгенерированный список управления доступом должен принадлежать пользователю, соответствующему указанный параметр идентификатора пользователя.

      Доступный в OS X v10.7 и позже.

    • kSecUseOnlyGID

      kSecUseOnlyGID

      Указывает, что сгенерированный список управления доступом должен принадлежать пользователям, которые являются участниками группы, соответствующей указанной группе параметр ID.

      Доступный в OS X v10.7 и позже.

    • kSecHonorRoot

      kSecHonorRoot

      Указывает, что сгенерированный список управления доступом должен обработать пользователя root как обычного пользователя в целях владения.

      Доступный в OS X v10.7 и позже.

    • kSecMatchBits

      kSecMatchBits

      Указывает, что список управления доступом должен принадлежать пользователям, ID которых соответствует указанный идентификатор пользователя или кто участники группы, ID которой соответствует указанной группе параметр ID.

      Доступный в OS X v10.7 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.7 и позже.

Ключи класса элемента цепочки для ключей и значения

Константы, используемые в поисковом словаре для указания класса элементов в цепочке для ключей. Посмотрите SecItemCopyMatching для описания поискового словаря.

  • Ключевая константа раньше устанавливала значение класса элемента в поисковом словаре.

    Объявление

    Swift

    let kSecClass: CFStringRef

    Objective C

    CFTypeRef kSecClass;

    Константы

    • kSecClass

      kSecClass

      Ключ Dictionary, значение которого является кодом класса элемента.

      Возможные значения для этого ключа перечислены в Константах Значения Класса Элемента.

      Доступный в OS X v10.6 и позже.

  • Значения, используемые с kSecClass введите поисковый словарь.

    Объявление

    Swift

    let kSecClassGenericPassword: CFStringRef let kSecClassInternetPassword: CFStringRef let kSecClassCertificate: CFStringRef let kSecClassKey: CFStringRef let kSecClassIdentity: CFStringRef

    Objective C

    CFTypeRef kSecClassGenericPassword; CFTypeRef kSecClassInternetPassword; CFTypeRef kSecClassCertificate; CFTypeRef kSecClassKey; CFTypeRef kSecClassIdentity;

    Константы

    • kSecClassGenericPassword

      kSecClassGenericPassword

      Универсальный элемент пароля.

      Следующие типы атрибута (Ключи Элемента атрибута и Значения) могут использоваться с элементом этого типа:

      • kSecAttrAccessible

      • kSecAttrAccessGroup

      • kSecAttrCreationDate

      • kSecAttrModificationDate

      • kSecAttrDescription

      • kSecAttrComment

      • kSecAttrCreator

      • kSecAttrType

      • kSecAttrLabel

      • kSecAttrIsInvisible

      • kSecAttrIsNegative

      • kSecAttrAccount

      • kSecAttrService

      • kSecAttrGeneric

      Доступный в OS X v10.7 и позже.

    • kSecClassInternetPassword

      kSecClassInternetPassword

      Интернет-элемент пароля.

      Следующие типы атрибута (Ключи Элемента атрибута и Значения) могут использоваться с элементом этого типа:

      • kSecAttrAccessible

      • kSecAttrAccessGroup

      • kSecAttrCreationDate

      • kSecAttrModificationDate

      • kSecAttrDescription

      • kSecAttrComment

      • kSecAttrCreator

      • kSecAttrType

      • kSecAttrLabel

      • kSecAttrIsInvisible

      • kSecAttrIsNegative

      • kSecAttrAccount

      • kSecAttrSecurityDomain

      • kSecAttrServer

      • kSecAttrProtocol

      • kSecAttrAuthenticationType

      • kSecAttrPort

      • kSecAttrPath

      Доступный в OS X v10.6 и позже.

    • kSecClassCertificate

      kSecClassCertificate

      Элемент сертификата.

      Следующие типы атрибута (Ключи Элемента атрибута и Значения) могут использоваться с элементом этого типа:

      • kSecAttrAccessible

      • kSecAttrAccessGroup

      • kSecAttrCertificateType

      • kSecAttrCertificateEncoding

      • kSecAttrLabel

      • kSecAttrSubject

      • kSecAttrIssuer

      • kSecAttrSerialNumber

      • kSecAttrSubjectKeyID

      • kSecAttrPublicKeyHash

      Доступный в OS X v10.7 и позже.

    • kSecClassKey

      kSecClassKey

      Элемент криптографического ключа.

      Следующие типы атрибута (Ключи Элемента атрибута и Значения) могут использоваться с элементом этого типа:

      • kSecAttrAccessible

      • kSecAttrAccessGroup

      • kSecAttrKeyClass

      • kSecAttrLabel

      • kSecAttrApplicationLabel

      • kSecAttrIsPermanent

      • kSecAttrApplicationTag

      • kSecAttrKeyType

      • kSecAttrKeySizeInBits

      • kSecAttrEffectiveKeySize

      • kSecAttrCanEncrypt

      • kSecAttrCanDecrypt

      • kSecAttrCanDerive

      • kSecAttrCanSign

      • kSecAttrCanVerify

      • kSecAttrCanWrap

      • kSecAttrCanUnwrap

      Доступный в OS X v10.7 и позже.

    • kSecClassIdentity

      kSecClassIdentity

      Элемент идентификационных данных.

      Идентификационные данные являются сертификатом вместе с его связанным закрытым ключом. Поскольку идентификационные данные являются комбинацией закрытого ключа и сертификата, этот класс совместно использует атрибуты обоих kSecClassKey и kSecClassCertificate.

      Доступный в OS X v10.7 и позже.

Ключи элемента атрибута и значения

Вы используете ключи в поисковом словаре для указания элементов цепочки для ключей, которые можно искать. Можно указать комбинацию атрибутов элемента и искать атрибуты (см. Ключи поиска) при поиске соответствия элементов с SecItemCopyMatching функция. Этот раздел перечисляет все ключи, указывающие атрибуты элемента цепочки для ключей. Описание каждого элемента указывает то, что возможные значения для того ключа. В нескольких случаях интерфейс программирования обеспечивает ряд констант, которые можно использовать в качестве значений для определенного ключа. Те константы значения находятся также в этом разделе, после описаний ключей.

  • Каждый тип элемента цепочки для ключей может иметь много атрибутов, описывающих тот элемент. Для возможных типов элемента цепочки для ключей и атрибутов, которые могут быть указаны для каждого, посмотрите Ключи Класса Элемента Цепочки для ключей и Значения.

    Объявление

    Swift

    let kSecAttrAccess: CFStringRef let kSecAttrAccessible: CFStringRef let kSecAttrCreationDate: CFStringRef let kSecAttrModificationDate: CFStringRef let kSecAttrDescription: CFStringRef let kSecAttrComment: CFStringRef let kSecAttrCreator: CFStringRef let kSecAttrType: CFStringRef let kSecAttrLabel: CFStringRef let kSecAttrIsInvisible: CFStringRef let kSecAttrIsNegative: CFStringRef let kSecAttrAccount: CFStringRef let kSecAttrService: CFStringRef let kSecAttrGeneric: CFStringRef let kSecAttrSecurityDomain: CFStringRef let kSecAttrServer: CFStringRef let kSecAttrProtocol: CFStringRef let kSecAttrAuthenticationType: CFStringRef let kSecAttrPort: CFStringRef let kSecAttrPath: CFStringRef let kSecAttrSubject: CFStringRef let kSecAttrIssuer: CFStringRef let kSecAttrSerialNumber: CFStringRef let kSecAttrSubjectKeyID: CFStringRef let kSecAttrPublicKeyHash: CFStringRef let kSecAttrCertificateType: CFStringRef let kSecAttrCertificateEncoding: CFStringRef let kSecAttrKeyClass: CFStringRef let kSecAttrApplicationLabel: CFStringRef let kSecAttrIsPermanent: CFStringRef let kSecAttrApplicationTag: CFStringRef let kSecAttrPRF: CFStringRef let kSecAttrSalt: CFStringRef let kSecAttrRounds: CFStringRef let kSecAttrKeyType: CFStringRef let kSecAttrKeySizeInBits: CFStringRef let kSecAttrEffectiveKeySize: CFStringRef let kSecAttrCanEncrypt: CFStringRef let kSecAttrCanDecrypt: CFStringRef let kSecAttrCanDerive: CFStringRef let kSecAttrCanSign: CFStringRef let kSecAttrCanVerify: CFStringRef let kSecAttrCanWrap: CFStringRef let kSecAttrCanUnwrap: CFStringRef let kSecAttrAccessGroup: CFStringRef

    Objective C

    CFTypeRef kSecAttrAccess; CFTypeRef kSecAttrAccessible; CFTypeRef kSecAttrCreationDate; CFTypeRef kSecAttrModificationDate; CFTypeRef kSecAttrDescription; CFTypeRef kSecAttrComment; CFTypeRef kSecAttrCreator; CFTypeRef kSecAttrType; CFTypeRef kSecAttrLabel; CFTypeRef kSecAttrIsInvisible; CFTypeRef kSecAttrIsNegative; CFTypeRef kSecAttrAccount; CFTypeRef kSecAttrService; CFTypeRef kSecAttrGeneric; CFTypeRef kSecAttrSecurityDomain; CFTypeRef kSecAttrServer; CFTypeRef kSecAttrProtocol; CFTypeRef kSecAttrAuthenticationType; CFTypeRef kSecAttrPort; CFTypeRef kSecAttrPath; CFTypeRef kSecAttrSubject; CFTypeRef kSecAttrIssuer; CFTypeRef kSecAttrSerialNumber; CFTypeRef kSecAttrSubjectKeyID; CFTypeRef kSecAttrPublicKeyHash; CFTypeRef kSecAttrCertificateType; CFTypeRef kSecAttrCertificateEncoding; CFTypeRef kSecAttrKeyClass; CFTypeRef kSecAttrApplicationLabel; CFTypeRef kSecAttrIsPermanent; CFTypeRef kSecAttrApplicationTag; CFTypeRef kSecAttrPRF; CFTypeRef kSecAttrSalt; CFTypeRef kSecAttrRounds; CFTypeRef kSecAttrKeyType; CFTypeRef kSecAttrKeySizeInBits; CFTypeRef kSecAttrEffectiveKeySize; CFTypeRef kSecAttrCanEncrypt; CFTypeRef kSecAttrCanDecrypt; CFTypeRef kSecAttrCanDerive; CFTypeRef kSecAttrCanSign; CFTypeRef kSecAttrCanVerify; CFTypeRef kSecAttrCanWrap; CFTypeRef kSecAttrCanUnwrap; CFTypeRef kSecAttrAccessGroup;

    Константы

    • kSecAttrAccess

      kSecAttrAccess

      A SecAccessRef объект, описывающий настройки управления доступом для этого элемента.

      Доступный в OS X v10.7 и позже.

    • kSecAttrAccessible

      kSecAttrAccessible

      A CFTypeRef (непрозрачное) значение, указывающее, когда для Вашего приложения нужен доступ к данным в элементе цепочки для ключей. Необходимо выбрать самую строгую опцию, удовлетворяющую потребности приложения так, чтобы iOS мог защитить тот элемент до самой большой возможной степени. Для списка возможных значений посмотрите Константы Доступности Элемента Цепочки для ключей.

      Доступный в OS X v10.9 и позже.

    • kSecAttrCreationDate

      kSecAttrCreationDate

      Ключ даты создания.

      Соответствующее значение имеет тип CFDateRef и представляет дату, элемент создавался. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrModificationDate

      kSecAttrModificationDate

      Ключ даты модификации.

      Соответствующее значение имеет тип CFDateRef и представляет в прошлый раз, когда элемент был обновлен. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrDescription

      kSecAttrDescription

      Ключ атрибута описания.

      Соответствующее значение имеет тип CFStringRef и указывает видимую пользователем строку, описывающую этот вид элемента (например, «Пароль образа диска»).

      Доступный в OS X v10.6 и позже.

    • kSecAttrComment

      kSecAttrComment

      Ключ атрибута комментария.

      Соответствующее значение имеет тип CFStringRef и содержит доступный для редактирования пользователем комментарий для этого элемента.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCreator

      kSecAttrCreator

      Ключ атрибута создателя.

      Соответствующее значение имеет тип CFNumberRef и представляет создателя элемента. Это число является представлением целого без знака четырех кодов символа (например, 'aCrt').

      Доступный в OS X v10.6 и позже.

    • kSecAttrType

      kSecAttrType

      Ключ атрибута типа.

      Соответствующее значение имеет тип CFNumberRef и представляет тип элемента. Это число является представлением целого без знака четырех кодов символа (например, 'aTyp').

      Доступный в OS X v10.6 и позже.

    • kSecAttrLabel

      kSecAttrLabel

      Ключ атрибута метки.

      Соответствующее значение имеет тип CFStringRef и содержит видимую пользователем метку для этого элемента.

      Доступный в OS X v10.6 и позже.

    • kSecAttrIsInvisible

      kSecAttrIsInvisible

      Невидимый ключ атрибута.

      Соответствующее значение имеет тип CFBooleanRef и kCFBooleanTrue если элемент невидим (т.е. не должен быть выведен на экран).

      Доступный в OS X v10.6 и позже.

    • kSecAttrIsNegative

      kSecAttrIsNegative

      Отрицательный ключ атрибута.

      Соответствующее значение имеет тип CFBooleanRef и указывает, существует ли действительный пароль, связанный с этим элементом цепочки для ключей. Это полезно, если Ваше приложение не хочет, чтобы пароль для некоторой определенной службы был сохранен в цепочке для ключей, но предпочитает, чтобы это всегда было введено пользователем.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAccount

      kSecAttrAccount

      Ключ атрибута учетной записи.

      Соответствующее значение имеет тип CFStringRef и содержит название счета. Элементы класса kSecClassGenericPassword и kSecClassInternetPassword имейте этот атрибут.

      Доступный в OS X v10.6 и позже.

    • kSecAttrService

      kSecAttrService

      Ключ атрибута службы.

      Соответствующее значение является строкой типа CFStringRef это представляет службу, связанную с этим элементом. Элементы класса kSecClassGenericPassword имейте этот атрибут.

      Доступный в OS X v10.6 и позже.

    • kSecAttrGeneric

      kSecAttrGeneric

      Универсальный ключ атрибута.

      Соответствующее значение имеет тип CFDataRef и содержит определяемый пользователем атрибут. Элементы класса kSecClassGenericPassword имейте этот атрибут.

      Доступный в OS X v10.6 и позже.

    • kSecAttrSecurityDomain

      kSecAttrSecurityDomain

      Ключ атрибута домена защиты.

      Соответствующее значение имеет тип CFStringRef и представляет домен Защиты в сети Интернет. Элементы класса kSecClassInternetPassword имейте этот атрибут.

      Доступный в OS X v10.6 и позже.

    • kSecAttrServer

      kSecAttrServer

      Ключ атрибута сервера.

      Соответствующее значение имеет тип CFStringRef и содержит доменное имя сервера или IP-адрес. Элементы класса kSecClassInternetPassword имейте этот атрибут.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocol

      kSecAttrProtocol

      Ключ атрибута протокола.

      Соответствующее значение имеет тип CFNumberRef и обозначает протокол для этого элемента (см. Значения Протокола). Элементы класса kSecClassInternetPassword имейте этот атрибут.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAuthenticationType

      kSecAttrAuthenticationType

      Ключ атрибута типа аутентификации.

      Соответствующее значение имеет тип CFNumberRef и обозначает схему аутентификации для этого элемента (см. Значения Типа аутентификации).

      Доступный в OS X v10.6 и позже.

    • kSecAttrPort

      kSecAttrPort

      Ключ атрибута порта.

      Соответствующее значение имеет тип CFNumberRef и представляет интернет-номер порта. Элементы класса kSecClassInternetPassword имейте этот атрибут.

      Доступный в OS X v10.6 и позже.

    • kSecAttrPath

      kSecAttrPath

      Ключ атрибута пути.

      Соответствующее значение имеет тип CFStringRef и представляет путь, обычно компонент контура URL. Элементы класса kSecClassInternetPassword имейте этот атрибут.

      Доступный в OS X v10.6 и позже.

    • kSecAttrSubject

      kSecAttrSubject

      Подчиненный ключ атрибута.

      Соответствующее значение имеет тип CFDataRef и содержит имя предмета X.500 сертификата. Элементы класса kSecClassCertificate имейте этот атрибут. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrIssuer

      kSecAttrIssuer

      Ключ атрибута эмитента.

      Соответствующее значение имеет тип CFDataRef и содержит имя эмитента X.500 сертификата. Элементы класса kSecClassCertificate имейте этот атрибут. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrSerialNumber

      kSecAttrSerialNumber

      Ключ атрибута порядкового номера.  

      Соответствующее значение имеет тип CFDataRef и содержит данные порядкового номера сертификата. Элементы класса kSecClassCertificate имейте этот атрибут. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrSubjectKeyID

      kSecAttrSubjectKeyID

      Подчиненный ключ атрибута ключа ID.

      Соответствующее значение имеет тип CFDataRef и содержит подчиненный ключ ID сертификата. Элементы класса kSecClassCertificate имейте этот атрибут. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrPublicKeyHash

      kSecAttrPublicKeyHash

      Ключ атрибута хеша с открытым ключом.

      Соответствующее значение имеет тип CFDataRef и содержит хеш открытого ключа сертификата. Элементы класса kSecClassCertificate имейте этот атрибут. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCertificateType

      kSecAttrCertificateType

      Ключ атрибута типа сертификата.

      Соответствующее значение имеет тип CFNumberRef и обозначает тип сертификата (см. CSSM_CERT_TYPE перечисление в cssmtype.h). Элементы класса kSecClassCertificate имейте этот атрибут. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCertificateEncoding

      kSecAttrCertificateEncoding

      Сертификат, кодирующий ключ атрибута.

      Соответствующее значение имеет тип CFNumberRef и обозначает кодирование сертификата (см. CSSM_CERT_ENCODING перечисление в cssmtype.h). Элементы класса kSecClassCertificate имейте этот атрибут. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrKeyClass

      kSecAttrKeyClass

      Ключевой ключ атрибута класса.

      Соответствующее значение имеет тип CFTypeRef и указывает тип криптографического ключа. Возможные значения перечислены в Ключевых Значениях Класса. Только для чтения.

      Доступный в OS X v10.6 и позже.

    • kSecAttrApplicationLabel

      kSecAttrApplicationLabel

      Метка приложения приписывает ключ.

      Соответствующее значение имеет тип CFStringRef и содержит метку для этого элемента. Этот атрибут отличается от kSecAttrLabel атрибут, предназначающийся, чтобы быть человекочитаемым. Этот атрибут используется для поиска ключа программно; в частности для ключей класса kSecAttrKeyClassPublic и kSecAttrKeyClassPrivate, значение этого атрибута является хешем открытого ключа.

      Доступный в OS X v10.6 и позже.

    • kSecAttrIsPermanent

      kSecAttrIsPermanent

      Ключ атрибута постоянства.

      Соответствующее значение имеет тип CFBooleanRef и указывает, должен ли этот криптографический ключ быть сохранен постоянно.

      Доступный в OS X v10.6 и позже.

    • kSecAttrApplicationTag

      kSecAttrApplicationTag

      Ключ атрибута тега скрытия.

      Соответствующее значение имеет тип CFDataRef и содержит данные тега скрытия.

      Доступный в OS X v10.6 и позже.

    • kSecAttrPRF

      kSecAttrPRF

      Псевдослучайный функциональный атрибут. Возможные значения описаны в Константах Значения kSecAttrPRF.

      Доступный в OS X v10.7 и позже.

    • kSecAttrSalt

      kSecAttrSalt

      A CFDataRef объект, содержащий соль для использования для этого ключа.

      Доступный в OS X v10.7 и позже.

    • kSecAttrRounds

      kSecAttrRounds

      Число раундов для псевдослучайной функции, указанной kSecAttrPRF.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyType

      kSecAttrKeyType

      Ключ атрибута алгоритма.

      Соответствующее значение имеет тип CFNumberRef и указывает алгоритм, связанный с этим криптографическим ключом (см. CSSM_ALGORITHMS перечисление в cssmtype.h и Ключевых Значениях Типа).

      Доступный в OS X v10.6 и позже.

    • kSecAttrKeySizeInBits

      kSecAttrKeySizeInBits

      Число битов приписывает ключ.

      Соответствующее значение имеет тип CFNumberRef и указывает общее количество битов в этом криптографическом ключе. Соответствуйте kSecAttrEffectiveKeySize.

      Доступный в OS X v10.6 и позже.

    • kSecAttrEffectiveKeySize

      kSecAttrEffectiveKeySize

      Эффективное число битов приписывает ключ.

      Соответствующее значение имеет тип CFNumberRef и указывает эффективное число битов в этом криптографическом ключе. Например, ключ DES имеет a kSecAttrKeySizeInBits из 64, но a kSecAttrEffectiveKeySize из 56 битов.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCanEncrypt

      kSecAttrCanEncrypt

      Ключ атрибута шифрования.

      Соответствующее значение имеет тип CFBooleanRef и указывает, может ли этот криптографический ключ использоваться для шифрования данных.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCanDecrypt

      kSecAttrCanDecrypt

      Ключ атрибута дешифрования.

      Соответствующее значение имеет тип CFBooleanRef и указывает, может ли этот криптографический ключ использоваться для дешифрования данных.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCanDerive

      kSecAttrCanDerive

      Ключ атрибута деривации.

      Соответствующее значение имеет тип CFBooleanRef и указывает, может ли этот криптографический ключ использоваться для получения другого ключа.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCanSign

      kSecAttrCanSign

      Ключ атрибута подписи.

      Соответствующее значение имеет тип CFBooleanRef и указывает, может ли этот криптографический ключ использоваться для создания цифровой подписи.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCanVerify

      kSecAttrCanVerify

      Ключ атрибута верификации подписи.

      Соответствующее значение имеет тип CFBooleanRef и указывает, может ли этот криптографический ключ использоваться для заверения цифровой подписи.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCanWrap

      kSecAttrCanWrap

      Ключ атрибута обертки.

      Соответствующее значение имеет тип CFBooleanRef и указывает, может ли этот криптографический ключ использоваться для обертывания другого ключа.

      Доступный в OS X v10.6 и позже.

    • kSecAttrCanUnwrap

      kSecAttrCanUnwrap

      Разверните ключ атрибута.

      Соответствующее значение имеет тип CFBooleanRef и указывает, может ли этот криптографический ключ использоваться для разворачивания другого ключа.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAccessGroup

      kSecAttrAccessGroup

      Ключ группы доступа.

      Соответствующее значение имеет тип CFStringRef и указывает, какой доступ группируют, элемент находится в. Группы доступа могут использоваться для совместного использования элементов цепочки для ключей среди двух или больше приложений. Для приложений для совместного использования элемента цепочки для ключей приложения должны иметь общую группу доступа, перечисленную в их праве групп доступа цепочки для ключей и приложении, добавляющем, что совместно используемый элемент к цепочке для ключей должен указать, что это название группы совместного доступа как значение для этого ключа в словаре передало SecItemAdd функция.

      Приложение может быть элементом любого числа групп доступа. По умолчанию, SecItemUpdate, SecItemDelete, и SecItemCopyMatching функции ищут, весь доступ группируется, приложение является элементом. Включайте этот ключ в поисковом словаре для этих функций для указания, какая группа доступа ищется.

      Элемент цепочки для ключей может быть в только группе одиночного обращения.

      Доступный в OS X v10.9 и позже.

    Обсуждение

    Эти предопределенные ключи атрибута элемента используются, чтобы получить или установить значения в словаре. Не все атрибуты применяются к каждому классу элемента.

  • Значения, которые могут использоваться с kSecAttrProtocol ключ атрибута.

    Объявление

    Swift

    let kSecAttrProtocolFTP: CFStringRef let kSecAttrProtocolFTPAccount: CFStringRef let kSecAttrProtocolHTTP: CFStringRef let kSecAttrProtocolIRC: CFStringRef let kSecAttrProtocolNNTP: CFStringRef let kSecAttrProtocolPOP3: CFStringRef let kSecAttrProtocolSMTP: CFStringRef let kSecAttrProtocolSOCKS: CFStringRef let kSecAttrProtocolIMAP: CFStringRef let kSecAttrProtocolLDAP: CFStringRef let kSecAttrProtocolAppleTalk: CFStringRef let kSecAttrProtocolAFP: CFStringRef let kSecAttrProtocolTelnet: CFStringRef let kSecAttrProtocolSSH: CFStringRef let kSecAttrProtocolFTPS: CFStringRef let kSecAttrProtocolHTTPS: CFStringRef let kSecAttrProtocolHTTPProxy: CFStringRef let kSecAttrProtocolHTTPSProxy: CFStringRef let kSecAttrProtocolFTPProxy: CFStringRef let kSecAttrProtocolSMB: CFStringRef let kSecAttrProtocolRTSP: CFStringRef let kSecAttrProtocolRTSPProxy: CFStringRef let kSecAttrProtocolDAAP: CFStringRef let kSecAttrProtocolEPPC: CFStringRef let kSecAttrProtocolIPP: CFStringRef let kSecAttrProtocolNNTPS: CFStringRef let kSecAttrProtocolLDAPS: CFStringRef let kSecAttrProtocolTelnetS: CFStringRef let kSecAttrProtocolIMAPS: CFStringRef let kSecAttrProtocolIRCS: CFStringRef let kSecAttrProtocolPOP3S: CFStringRef

    Objective C

    CFTypeRef kSecAttrProtocolFTP; CFTypeRef kSecAttrProtocolFTPAccount; CFTypeRef kSecAttrProtocolHTTP; CFTypeRef kSecAttrProtocolIRC; CFTypeRef kSecAttrProtocolNNTP; CFTypeRef kSecAttrProtocolPOP3; CFTypeRef kSecAttrProtocolSMTP; CFTypeRef kSecAttrProtocolSOCKS; CFTypeRef kSecAttrProtocolIMAP; CFTypeRef kSecAttrProtocolLDAP; CFTypeRef kSecAttrProtocolAppleTalk; CFTypeRef kSecAttrProtocolAFP; CFTypeRef kSecAttrProtocolTelnet; CFTypeRef kSecAttrProtocolSSH; CFTypeRef kSecAttrProtocolFTPS; CFTypeRef kSecAttrProtocolHTTPS; CFTypeRef kSecAttrProtocolHTTPProxy; CFTypeRef kSecAttrProtocolHTTPSProxy; CFTypeRef kSecAttrProtocolFTPProxy; CFTypeRef kSecAttrProtocolSMB; CFTypeRef kSecAttrProtocolRTSP; CFTypeRef kSecAttrProtocolRTSPProxy; CFTypeRef kSecAttrProtocolDAAP; CFTypeRef kSecAttrProtocolEPPC; CFTypeRef kSecAttrProtocolIPP; CFTypeRef kSecAttrProtocolNNTPS; CFTypeRef kSecAttrProtocolLDAPS; CFTypeRef kSecAttrProtocolTelnetS; CFTypeRef kSecAttrProtocolIMAPS; CFTypeRef kSecAttrProtocolIRCS; CFTypeRef kSecAttrProtocolPOP3S;

    Константы

    • kSecAttrProtocolFTP

      kSecAttrProtocolFTP

      Протокол FTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolFTPAccount

      kSecAttrProtocolFTPAccount

      Клиентская сторона учетная запись FTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolHTTP

      kSecAttrProtocolHTTP

      Протокол HTTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolIRC

      kSecAttrProtocolIRC

      Протокол IRC.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolNNTP

      kSecAttrProtocolNNTP

      Протокол NNTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolPOP3

      kSecAttrProtocolPOP3

      Протокол POP3.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolSMTP

      kSecAttrProtocolSMTP

      Протокол SMTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolSOCKS

      kSecAttrProtocolSOCKS

      Протокол SOCKS.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolIMAP

      kSecAttrProtocolIMAP

      Протокол протокола IMAP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolLDAP

      kSecAttrProtocolLDAP

      Протокол LDAP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolAppleTalk

      kSecAttrProtocolAppleTalk

      AFP по AppleTalk.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolAFP

      kSecAttrProtocolAFP

      AFP по TCP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolTelnet

      kSecAttrProtocolTelnet

      Протокол telnet.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolSSH

      kSecAttrProtocolSSH

      Протокол SSH.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolFTPS

      kSecAttrProtocolFTPS

      FTP по TLS/SSL.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolHTTPS

      kSecAttrProtocolHTTPS

      HTTP по TLS/SSL.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolHTTPProxy

      kSecAttrProtocolHTTPProxy

      Прокси HTTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolHTTPSProxy

      kSecAttrProtocolHTTPSProxy

      Прокси HTTPS.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolFTPProxy

      kSecAttrProtocolFTPProxy

      Прокси FTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolSMB

      kSecAttrProtocolSMB

      Протокол SMB.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolRTSP

      kSecAttrProtocolRTSP

      Протокол RTSP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolRTSPProxy

      kSecAttrProtocolRTSPProxy

      Прокси RTSP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolDAAP

      kSecAttrProtocolDAAP

      Протокол DAAP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolEPPC

      kSecAttrProtocolEPPC

      Удаленные события Apple.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolIPP

      kSecAttrProtocolIPP

      Протокол IPP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolNNTPS

      kSecAttrProtocolNNTPS

      NNTP по TLS/SSL.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolLDAPS

      kSecAttrProtocolLDAPS

      LDAP по TLS/SSL.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolTelnetS

      kSecAttrProtocolTelnetS

      Telnet по TLS/SSL.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolIMAPS

      kSecAttrProtocolIMAPS

      IMAP по TLS/SSL.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolIRCS

      kSecAttrProtocolIRCS

      IRC по TLS/SSL.

      Доступный в OS X v10.6 и позже.

    • kSecAttrProtocolPOP3S

      kSecAttrProtocolPOP3S

      POP3 по TLS/SSL.

      Доступный в OS X v10.6 и позже.

  • Значения, которые могут использоваться с kSecAttrAuthenticationType ключ атрибута.

    Объявление

    Swift

    let kSecAttrAuthenticationTypeNTLM: CFStringRef let kSecAttrAuthenticationTypeMSN: CFStringRef let kSecAttrAuthenticationTypeDPA: CFStringRef let kSecAttrAuthenticationTypeRPA: CFStringRef let kSecAttrAuthenticationTypeHTTPBasic: CFStringRef let kSecAttrAuthenticationTypeHTTPDigest: CFStringRef let kSecAttrAuthenticationTypeHTMLForm: CFStringRef let kSecAttrAuthenticationTypeDefault: CFStringRef

    Objective C

    CFTypeRef kSecAttrAuthenticationTypeNTLM; CFTypeRef kSecAttrAuthenticationTypeMSN; CFTypeRef kSecAttrAuthenticationTypeDPA; CFTypeRef kSecAttrAuthenticationTypeRPA; CFTypeRef kSecAttrAuthenticationTypeHTTPBasic; CFTypeRef kSecAttrAuthenticationTypeHTTPDigest; CFTypeRef kSecAttrAuthenticationTypeHTMLForm; CFTypeRef kSecAttrAuthenticationTypeDefault;

    Константы

    • kSecAttrAuthenticationTypeNTLM

      kSecAttrAuthenticationTypeNTLM

      Аутентификация Диспетчера локальной сети Windows NT.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAuthenticationTypeMSN

      kSecAttrAuthenticationTypeMSN

      Аутентификация значения по умолчанию Microsoft Network.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAuthenticationTypeDPA

      kSecAttrAuthenticationTypeDPA

      Распределенная Аутентификация по паролю.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAuthenticationTypeRPA

      kSecAttrAuthenticationTypeRPA

      Удаленная Аутентификация по паролю.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAuthenticationTypeHTTPBasic

      kSecAttrAuthenticationTypeHTTPBasic

      Базовая аутентификация HTTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAuthenticationTypeHTTPDigest

      kSecAttrAuthenticationTypeHTTPDigest

      Аутентификация доступа Обзора HTTP.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAuthenticationTypeHTMLForm

      kSecAttrAuthenticationTypeHTMLForm

      HTML-форма базировала аутентификацию.

      Доступный в OS X v10.6 и позже.

    • kSecAttrAuthenticationTypeDefault

      kSecAttrAuthenticationTypeDefault

      Тип аутентификации по умолчанию.

      Доступный в OS X v10.6 и позже.

  • Значения, которые могут использоваться с kSecAttrKeyClass ключ атрибута.

    Объявление

    Swift

    let kSecAttrKeyClassPublic: CFStringRef let kSecAttrKeyClassPrivate: CFStringRef let kSecAttrKeyClassSymmetric: CFStringRef

    Objective C

    CFTypeRef kSecAttrKeyClassPublic; CFTypeRef kSecAttrKeyClassPrivate; CFTypeRef kSecAttrKeyClassSymmetric;

    Константы

    • kSecAttrKeyClassPublic

      kSecAttrKeyClassPublic

      Открытый ключ общедоступно-частной пары.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyClassPrivate

      kSecAttrKeyClassPrivate

      Закрытый ключ общедоступно-частной пары.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyClassSymmetric

      kSecAttrKeyClassSymmetric

      Закрытый ключ, используемый для шифрования с симметричным ключом и дешифрования.

      Доступный в OS X v10.7 и позже.

  • Значения, которые могут использоваться с kSecAttrKeyType ключ атрибута.

    Объявление

    Swift

    let kSecAttrKeyTypeRSA: CFStringRef let kSecAttrKeyTypeDSA: CFStringRef let kSecAttrKeyTypeAES: CFStringRef let kSecAttrKeyTypeDES: CFStringRef let kSecAttrKeyType3DES: CFStringRef let kSecAttrKeyTypeRC4: CFStringRef let kSecAttrKeyTypeRC2: CFStringRef let kSecAttrKeyTypeCAST: CFStringRef let kSecAttrKeyTypeECDSA: CFStringRef

    Objective C

    extern const CFTypeRef kSecAttrKeyTypeRSA; extern const CFTypeRef kSecAttrKeyTypeDSA; extern const CFTypeRef kSecAttrKeyTypeAES; extern const CFTypeRef kSecAttrKeyTypeDES; extern const CFTypeRef kSecAttrKeyType3DES; extern const CFTypeRef kSecAttrKeyTypeRC4; extern const CFTypeRef kSecAttrKeyTypeRC2; extern const CFTypeRef kSecAttrKeyTypeCAST; extern const CFTypeRef kSecAttrKeyTypeECDSA;

    Константы

    • kSecAttrKeyTypeRSA

      kSecAttrKeyTypeRSA

      Алгоритм RSA.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyTypeDSA

      kSecAttrKeyTypeDSA

      Алгоритм DSA.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyTypeAES

      kSecAttrKeyTypeAES

      Алгоритм AES.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyTypeDES

      kSecAttrKeyTypeDES

      Алгоритм DES.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyType3DES

      kSecAttrKeyType3DES

      3DES алгоритм.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyTypeRC4

      kSecAttrKeyTypeRC4

      Алгоритм RC4.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyTypeRC2

      kSecAttrKeyTypeRC2

      Алгоритм RC2.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyTypeCAST

      kSecAttrKeyTypeCAST

      Алгоритм CAST.

      Доступный в OS X v10.7 и позже.

    • kSecAttrKeyTypeECDSA

      kSecAttrKeyTypeECDSA

      Эллиптическая кривая алгоритм DSA.

      Доступный в OS X v10.7 и позже.

  • Эти константы являются юридическими значениями для kSecAttrAccessible используемый для определения, когда элемент цепочки для ключей должен быть читаемым.

    Объявление

    Swift

    let kSecAttrAccessibleAfterFirstUnlock: CFStringRef let kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly: CFStringRef let kSecAttrAccessibleAlways: CFStringRef let kSecAttrAccessibleAlwaysThisDeviceOnly: CFStringRef let kSecAttrAccessibleWhenUnlocked: CFStringRef let kSecAttrAccessibleWhenUnlockedThisDeviceOnly: CFStringRef

    Objective C

    CFTypeRef kSecAttrAccessibleWhenUnlocked; CFTypeRef kSecAttrAccessibleAfterFirstUnlock; CFTypeRef kSecAttrAccessibleAlways; CFTypeRef kSecAttrAccessibleWhenUnlockedThisDeviceOnly; CFTypeRef kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly; CFTypeRef kSecAttrAccessibleAlwaysThisDeviceOnly;

    Константы

    • kSecAttrAccessibleAfterFirstUnlock

      kSecAttrAccessibleAfterFirstUnlock

      К данным в элементе цепочки для ключей нельзя получить доступ после перезапуска, пока устройство не было разблокировано один раз пользователем.

      После того, как первые разблокировали, данные остаются доступными до следующего перезапуска. Это рекомендуется для элементов, к которым должны получить доступ фоновые приложения. Элементы с этим атрибутом мигрируют на новое устройство при использовании зашифрованных резервных копий.

      Доступный в OS X v10.9 и позже.

    • kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly

      kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly

      К данным в элементе цепочки для ключей нельзя получить доступ после перезапуска, пока устройство не было разблокировано один раз пользователем.

      После того, как первые разблокировали, данные остаются доступными до следующего перезапуска. Это рекомендуется для элементов, к которым должны получить доступ фоновые приложения. Элементы с этим атрибутом не мигрируют на новое устройство. Таким образом, после восстановления от резервного копирования различного устройства, эти элементы не будут присутствовать.

      Доступный в OS X v10.9 и позже.

    • kSecAttrAccessibleAlways

      kSecAttrAccessibleAlways

      К данным в элементе цепочки для ключей можно всегда получать доступ независимо от того, заблокировано ли устройство.

      Это не рекомендуется для использования приложения. Элементы с этим атрибутом мигрируют на новое устройство при использовании зашифрованных резервных копий.

      Доступный в OS X v10.9 и позже.

    • kSecAttrAccessibleAlwaysThisDeviceOnly

      kSecAttrAccessibleAlwaysThisDeviceOnly

      К данным в элементе цепочки для ключей можно всегда получать доступ независимо от того, заблокировано ли устройство.

      Это не рекомендуется для использования приложения. Элементы с этим атрибутом не мигрируют на новое устройство. Таким образом, после восстановления от резервного копирования различного устройства, эти элементы не будут присутствовать.

      Доступный в OS X v10.9 и позже.

    • kSecAttrAccessibleWhenUnlocked

      kSecAttrAccessibleWhenUnlocked

      К данным в элементе цепочки для ключей можно получить доступ только, в то время как устройство разблокировано пользователем.

      Это рекомендуется для элементов, которые должны быть доступными только, в то время как приложение находится на переднем плане. Элементы с этим атрибутом мигрируют на новое устройство при использовании зашифрованных резервных копий.

      Это - значение по умолчанию для элементов цепочки для ключей, добавленных, явно не устанавливая постоянную доступность.

      Доступный в OS X v10.9 и позже.

    • kSecAttrAccessibleWhenUnlockedThisDeviceOnly

      kSecAttrAccessibleWhenUnlockedThisDeviceOnly

      К данным в элементе цепочки для ключей можно получить доступ только, в то время как устройство разблокировано пользователем.

      Это рекомендуется для элементов, которые должны быть доступными только, в то время как приложение находится на переднем плане. Элементы с этим атрибутом не мигрируют на новое устройство. Таким образом, после восстановления от резервного копирования различного устройства, эти элементы не будут присутствовать.

      Доступный в OS X v10.9 и позже.

  • Константы, используемые для kSecAttrPRF введите словарь параметров, переданный SecKeyDeriveFromPassword.

    Объявление

    Swift

    let kSecAttrPRFHmacAlgSHA1: CFStringRef let kSecAttrPRFHmacAlgSHA224: CFStringRef let kSecAttrPRFHmacAlgSHA256: CFStringRef let kSecAttrPRFHmacAlgSHA384: CFStringRef let kSecAttrPRFHmacAlgSHA512: CFStringRef

    Objective C

    extern const CFTypeRef kSecAttrPRFHmacAlgSHA1; extern const CFTypeRef kSecAttrPRFHmacAlgSHA224; extern const CFTypeRef kSecAttrPRFHmacAlgSHA256; extern const CFTypeRef kSecAttrPRFHmacAlgSHA384; extern const CFTypeRef kSecAttrPRFHmacAlgSHA512;

    Константы

    • kSecAttrPRFHmacAlgSHA1

      kSecAttrPRFHmacAlgSHA1

      Используйте алгоритм SHA1.

      Доступный в OS X v10.7 и позже.

    • kSecAttrPRFHmacAlgSHA224

      kSecAttrPRFHmacAlgSHA224

      Используйте алгоритм SHA224.

      Доступный в OS X v10.7 и позже.

    • kSecAttrPRFHmacAlgSHA256

      kSecAttrPRFHmacAlgSHA256

      Используйте алгоритм SHA256.

      Доступный в OS X v10.7 и позже.

    • kSecAttrPRFHmacAlgSHA384

      kSecAttrPRFHmacAlgSHA384

      Используйте алгоритм SHA384.

      Доступный в OS X v10.7 и позже.

    • kSecAttrPRFHmacAlgSHA512

      kSecAttrPRFHmacAlgSHA512

      Используйте алгоритм SHA512.

      Доступный в OS X v10.7 и позже.

Ключи поиска

  • Ключи раньше устанавливали поисковые атрибуты в словаре поиска цепочки для ключей. Можно указать комбинацию поисковых атрибутов и атрибутов элемента (см. Ключи Элемента Атрибута и Значения) при поиске соответствия элементов с SecItemCopyMatching функция.

    Объявление

    Swift

    let kSecMatchPolicy: CFStringRef let kSecMatchItemList: CFStringRef let kSecMatchSearchList: CFStringRef let kSecMatchIssuers: CFStringRef let kSecMatchEmailAddressIfPresent: CFStringRef let kSecMatchSubjectContains: CFStringRef let kSecMatchSubjectStartsWith: CFStringRef let kSecMatchSubjectEndsWith: CFStringRef let kSecMatchSubjectWholeString: CFStringRef let kSecMatchCaseInsensitive: CFStringRef let kSecMatchDiacriticInsensitive: CFStringRef let kSecMatchWidthInsensitive: CFStringRef let kSecMatchTrustedOnly: CFStringRef let kSecMatchValidOnDate: CFStringRef let kSecMatchLimit: CFStringRef let kSecMatchLimitOne: CFStringRef let kSecMatchLimitAll: CFStringRef

    Objective C

    CFTypeRef kSecMatchPolicy; CFTypeRef kSecMatchItemList; CFTypeRef kSecMatchSearchList; CFTypeRef kSecMatchIssuers; CFTypeRef kSecMatchEmailAddressIfPresent; CFTypeRef kSecMatchSubjectContains; CFTypeRef kSecMatchSubjectStartsWith; CFTypeRef kSecMatchSubjectEndsWith; CFTypeRef kSecMatchSubjectWholeString; CFTypeRef kSecMatchCaseInsensitive; CFTypeRef kSecMatchDiacriticInsensitive; CFTypeRef kSecMatchWidthInsensitive; CFTypeRef kSecMatchTrustedOnly; CFTypeRef kSecMatchValidOnDate; CFTypeRef kSecMatchLimit; CFTypeRef kSecMatchLimitOne; CFTypeRef kSecMatchLimitAll;

    Константы

    • kSecMatchPolicy

      kSecMatchPolicy

      Политика соответствия приписывает ключ.

      Соответствующее значение имеет тип SecPolicyRef. Если предоставленный, возвратил сертификаты, или идентификационные данные должны проверить с этой политикой.

      Доступный в OS X v10.6 и позже.

    • kSecMatchItemList

      kSecMatchItemList

      Список элемента приписывает ключ.

      Для обеспечения собственного набора элементов, которые будут отфильтрованы поисковым запросом вместо того, чтобы искать цепочку для ключей, укажите этот ключ поиска в вызове к SecItemCopyMatching функция со значением, состоящим из объекта типа CFArrayRef где массив содержит также SecKeychainItemRef, SecKeyRef, SecCertificateRef, SecIdentityRef, или CFDataRef элементы. Объекты в предоставленном массиве должны все иметь тот же тип.

      Для преобразования от персистентных ссылок элемента до нормальных ссылок элемента укажите этот ключ поиска в вызове к SecItemCopyMatching функция со значением типа CFArrayRef где массив содержит один или больше CFDataRef элементы (персистентные ссылки), и ключ типа возврата kSecReturnRef чье значение kCFBooleanTrue.

      Для удаления элемента, идентифицированного переходной ссылкой, укажите kSecMatchItemList ключ поиска в вызове к SecItemDelete функция со ссылкой возвратилась при помощи kSecReturnRef возвратитесь тип вводят предыдущий вызов к SecItemCopyMatching или SecItemAdd функции.

      Для удаления элемента, идентифицированного персистентной ссылкой, укажите kSecMatchItemList ключ поиска в вызове к SecItemDelete функция с персистентной ссылкой возвратилась при помощи kSecReturnPersistentRef возвратите ключ типа SecItemCopyMatching или SecItemAdd функции.

      Доступный в OS X v10.6 и позже.

    • kSecMatchSearchList

      kSecMatchSearchList

      Указывает ключ словаря, значение которого является a CFArray из SecKeychainRef элементы. Если предоставленный, поиск будет ограничен цепочками для ключей, содержавшимися в этом списке.

      Доступный в OS X v10.6 и позже.

    • kSecMatchIssuers

      kSecMatchIssuers

      Эмитенты приписывают ключ.

      Соответствующее значение имеет тип CFArrayRef, где массив состоит из имен X.500 типа CFDataRef. Если предоставленный, возвратил сертификаты, или идентификационные данные ограничиваются теми, цепочка сертификата которых содержит один из эмитентов, предоставленных в этом списке.

      Доступный в OS X v10.6 и позже.

    • kSecMatchEmailAddressIfPresent

      kSecMatchEmailAddressIfPresent

      Ключ атрибута адреса электронной почты.

      Соответствующее значение имеет тип CFStringRef и содержит адрес электронной почты RFC822. Если предоставленный, возвратил сертификаты, или идентификационные данные ограничиваются теми, которые или содержать адрес или не содержат адреса электронной почты.

      Доступный в OS X v10.6 и позже.

    • kSecMatchSubjectContains

      kSecMatchSubjectContains

      Подчиненный ключ атрибута.

      Соответствующее значение имеет тип CFStringRef. Если предоставленный, возвратил сертификаты, или идентификационные данные ограничиваются теми, предмет которых содержит эту строку.

      Доступный в OS X v10.6 и позже.

    • kSecMatchSubjectStartsWith

      kSecMatchSubjectStartsWith

      Подчиненный ключ атрибута.

      Соответствующее значение имеет тип CFStringRef. Если предоставленный, возвратил сертификаты, или идентификационные данные ограничиваются теми, предмет которых запускается с этой строки.

      Доступный в OS X v10.7 и позже.

    • kSecMatchSubjectEndsWith

      kSecMatchSubjectEndsWith

      Подчиненный ключ атрибута.

      Соответствующее значение имеет тип CFStringRef. Если предоставленный, возвратил сертификаты, или идентификационные данные ограничиваются теми, предмет которых заканчивается этой строкой.

      Доступный в OS X v10.7 и позже.

    • kSecMatchSubjectWholeString

      kSecMatchSubjectWholeString

      Подчиненный ключ атрибута.

      Соответствующее значение имеет тип CFStringRef. Если предоставленный, возвратил сертификаты, или идентификационные данные ограничиваются теми, предмет которых точно равен этой строке.

      Доступный в OS X v10.7 и позже.

    • kSecMatchCaseInsensitive

      kSecMatchCaseInsensitive

      Ключ атрибута чувствительности к регистру.

      Соответствующее значение имеет тип CFBooleanRef. Если это значение kCFBooleanFalse, или если этот атрибут не предоставлен, то чувствительное к регистру сопоставление строк выполняется.

      Доступный в OS X v10.6 и позже.

    • kSecMatchDiacriticInsensitive

      kSecMatchDiacriticInsensitive

      Ключ атрибута чувствительности к регистру.

      Соответствующее значение имеет тип CFBooleanRef. Если это значение kCFBooleanFalse, или если этот атрибут не предоставлен, то чувствительное к диакритическому знаку сопоставление строк выполняется.

      Доступный в OS X v10.7 и позже.

    • kSecMatchWidthInsensitive

      kSecMatchWidthInsensitive

      Ключ атрибута чувствительности к регистру.

      Соответствующее значение имеет тип CFBooleanRef. Если это значение kCFBooleanFalse, или если этот атрибут не предоставлен, то чувствительное к ширине сопоставление строк выполняется (например, символ ASCII a не соответствует полноширинную букву UTF-8 a (U+FF41).

      Доступный в OS X v10.7 и позже.

    • kSecMatchTrustedOnly

      kSecMatchTrustedOnly

      Доверяемый ключ атрибута привязки.

      Соответствующее значение имеет тип CFBooleanRef. Если этот атрибут предоставлен значением kCFBooleanTrue, только сертификаты, которые могут быть проверены назад к доверяемой привязке, возвращаются. Если это значение kCFBooleanFalse или атрибут не предоставлен, тогда могут быть возвращены оба доверяемых и недоверяемых сертификата.

      Доступный в OS X v10.6 и позже.

    • kSecMatchValidOnDate

      kSecMatchValidOnDate

      Допустимый на дату ключ атрибута.

      Соответствующее значение имеет тип CFDateRef. Если предоставленный, возвратил ключи, сертификаты или идентификационные данные ограничиваются теми, которые допустимы для данной даты. Передайте значение kCFNull указать текущую дату.

      Доступный в OS X v10.6 и позже.

    • kSecMatchLimit

      kSecMatchLimit

      Предел соответствия приписывает ключ.

      Соответствующее значение имеет тип CFNumberRef. Если предоставленный, это значение указывает максимальное количество результатов возвратиться или иначе реагировать. Для единственного элемента указать kSecMatchLimitOne. Для указания всех элементов соответствия указать kSecMatchLimitAll. Поведение по умолчанию функционально-зависимо.

      Доступный в OS X v10.6 и позже.

    • kSecMatchLimitOne

      kSecMatchLimitOne

      Результаты ограничиваются первым найденным элементом; используемый в качестве значения для kSecMatchLimit ключ атрибута.

      Доступный в OS X v10.6 и позже.

    • kSecMatchLimitAll

      kSecMatchLimitAll

      Неограниченное количество результатов может быть возвращено; используемый в качестве значения для kSecMatchLimit ключ атрибута.

      Доступный в OS X v10.6 и позже.

  • Ключ раньше указывал список элементов, чтобы искать или добавить.

    Объявление

    Swift

    let kSecUseItemList: CFStringRef let kSecUseKeychain: CFStringRef

    Objective C

    CFTypeRef kSecUseItemList;

    Константы

    • kSecUseItemList

      kSecUseItemList

      Ключ списка элемента.

      Соответствующее значение имеет тип CFArrayRef, где массив содержит также SecKeychainItemRef, SecKeyRef, SecCertificateRef, SecIdentityRef, или (для персистентных ссылок элемента) CFDataRef элементы. Если предоставленный, этот массив обрабатывается как набор всех возможных элементов для поиска (или добавить, ли вызванная функция SecItemAdd). Элементы в массиве должны все иметь тот же тип.

      Доступный в OS X v10.6 и позже.

    • kSecUseKeychain

      kSecUseKeychain

      Ссылочный ключ цепочки для ключей.

      Указывает a SecKeychainRef возразите что ссылки цепочка для ключей к который SecItemAdd должны добавить предоставленные элементы.

      Доступный в OS X v10.7 и позже.

    Обсуждение

    Когда этот атрибут предоставлен, никакие цепочки для ключей не ищутся.

Константы результатов поиска

  • Ключи раньше указывали тип результатов, которые должны быть возвращены SecItemCopyMatching или SecItemAdd функция.

    Объявление

    Swift

    let kSecReturnData: CFStringRef let kSecReturnAttributes: CFStringRef let kSecReturnRef: CFStringRef let kSecReturnPersistentRef: CFStringRef

    Objective C

    CFTypeRef kSecReturnData; CFTypeRef kSecReturnAttributes; CFTypeRef kSecReturnRef; CFTypeRef kSecReturnPersistentRef;

    Константы

    • kSecReturnData

      kSecReturnData

      Возвратите ключ атрибута данных.

      Соответствующее значение имеет тип CFBooleanRef. Значение kCFBooleanTrue указывает, что данные элемента должны быть возвращены в форме a CFDataRef. Для ключей и элементов пароля, данные секретные (зашифрованный) и могут потребовать, чтобы пользователь ввел пароль для доступа.

      Доступный в OS X v10.6 и позже.

    • kSecReturnAttributes

      kSecReturnAttributes

      Возвратитесь атрибуты приписывают ключ.

      Соответствующее значение имеет тип CFBooleanRef. Значение kCFBooleanTrue указывает, что словарь (незашифрованных) атрибутов элемента должен быть возвращен в форме a CFDictionaryRef.

      Доступный в OS X v10.6 и позже.

    • kSecReturnRef

      kSecReturnRef

      Возвратите ссылочный ключ атрибута.

      Соответствующее значение имеет тип CFBooleanRef. Значение kCFBooleanTrue указывает, что должна быть возвращена ссылка. В зависимости от класса элемента, который требуют, возвращенные ссылки могут иметь тип SecKeychainItemRef, SecKeyRef, SecCertificateRef, SecIdentityRef, или CFDataRef.

      Доступный в OS X v10.6 и позже.

    • kSecReturnPersistentRef

      kSecReturnPersistentRef

      Возвратите персистентный ссылочный ключ атрибута. Персистентная ссылка на учетные данные может быть сохранена на диске для более позднего использования или передана другим процессам.

      Соответствующее значение имеет тип CFBooleanRef. Значение kCFBooleanTrue указывает что персистентная ссылка на элемент (CFDataRef) должен быть возвращен.

      Доступный в OS X v10.6 и позже.

    Обсуждение

    Можно указать нуль или больше этих типов возврата. При указании больше чем одного из этих типов возврата Keychain Services возвращает результат как a CFDictionaryRef ссылка на словарь, ключи которого являются типами возврата и чьи значения являются запрошенными данными.

  • Ключи, используемые в словаре результатов для SecItemCopyMatching или SecItemAdd, указание типа значений возвратилось. Можно указать нуль или больше этих типов в зависимости от функции, которую Вы вызываете.

    Объявление

    Swift

    let kSecValueData: CFStringRef let kSecValueRef: CFStringRef let kSecValuePersistentRef: CFStringRef

    Objective C

    CFTypeRef kSecValueData; CFTypeRef kSecValueRef; CFTypeRef kSecValuePersistentRef;

    Константы

    • kSecValueData

      kSecValueData

      Данные приписывают ключ. Персистентная ссылка на учетные данные может быть сохранена на диске для более позднего использования или передана другим процессам.

      Соответствующее значение имеет тип CFDataRef. Для ключей и элементов пароля, данные секретные (зашифрованный) и могут потребовать, чтобы пользователь ввел пароль для доступа.

      Доступный в OS X v10.6 и позже.

    • kSecValueRef

      kSecValueRef

      Ссылочный ключ атрибута.

      Соответствующее значение, в зависимости от класса элемента, который требуют, имеет тип SecKeychainItemRef, SecKeyRef, SecCertificateRef, или SecIdentityRef.

      Доступный в OS X v10.6 и позже.

    • kSecValuePersistentRef

      kSecValuePersistentRef

      Персистентный ссылочный ключ атрибута.

      Соответствующее значение имеет тип CFDataRef. Байты в этом CFDataRef может быть сохранен вызывающей стороной и использоваться на последующем вызове приложения (или даже различного приложения) для получения элемента, на который он ссылается.

      Доступный в OS X v10.6 и позже.

Авторизационные ключи

  • Определяет константы, указывающие, каким операциям запись списка управления доступом применяется к.

    Объявление

    Swift

    var kSecACLAuthorizationAny: Unmanaged<AnyObject>! var kSecACLAuthorizationLogin: Unmanaged<AnyObject>! var kSecACLAuthorizationGenKey: Unmanaged<AnyObject>! var kSecACLAuthorizationDelete: Unmanaged<AnyObject>! var kSecACLAuthorizationExportWrapped: Unmanaged<AnyObject>! var kSecACLAuthorizationExportClear: Unmanaged<AnyObject>! var kSecACLAuthorizationImportWrapped: Unmanaged<AnyObject>! var kSecACLAuthorizationImportClear: Unmanaged<AnyObject>! var kSecACLAuthorizationSign: Unmanaged<AnyObject>! var kSecACLAuthorizationEncrypt: Unmanaged<AnyObject>! var kSecACLAuthorizationDecrypt: Unmanaged<AnyObject>! var kSecACLAuthorizationMAC: Unmanaged<AnyObject>! var kSecACLAuthorizationDerive: Unmanaged<AnyObject>! var kSecACLAuthorizationKeychainCreate: Unmanaged<AnyObject>! var kSecACLAuthorizationKeychainDelete: Unmanaged<AnyObject>! var kSecACLAuthorizationKeychainItemRead: Unmanaged<AnyObject>! var kSecACLAuthorizationKeychainItemInsert: Unmanaged<AnyObject>! var kSecACLAuthorizationKeychainItemModify: Unmanaged<AnyObject>! var kSecACLAuthorizationKeychainItemDelete: Unmanaged<AnyObject>! var kSecACLAuthorizationChangeACL: Unmanaged<AnyObject>! var kSecACLAuthorizationChangeOwner: Unmanaged<AnyObject>!

    Objective C

    extern CFTypeRef kSecACLAuthorizationAny __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationLogin __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationGenKey __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationDelete __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationExportWrapped __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationExportClear __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationImportWrapped __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationImportClear __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationSign __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationEncrypt __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationDecrypt __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationMAC __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationDerive __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); /* Defined authorization tag values for Keychain */ extern CFTypeRef kSecACLAuthorizationKeychainCreate __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationKeychainDelete __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationKeychainItemRead __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationKeychainItemInsert __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationKeychainItemModify __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationKeychainItemDelete __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationChangeACL __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA); extern CFTypeRef kSecACLAuthorizationChangeOwner __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA);

    Константы

    • kSecACLAuthorizationAny

      kSecACLAuthorizationAny

      Никакие ограничения. Эта запись ACL применяется ко всем операциям, доступным вызывающей стороне.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationLogin

      kSecACLAuthorizationLogin

      Используйте для CSP (смарт-карта) вход в систему.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationGenKey

      kSecACLAuthorizationGenKey

      Генерируйте ключ.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationDelete

      kSecACLAuthorizationDelete

      Удалите этот элемент.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationExportWrapped

      kSecACLAuthorizationExportWrapped

      Экспортируйте обернутый (т.е. зашифрованный) ключ. Этот тег проверяется на экспортируемом ключе; кроме того, CSSM_ACL_AUTHORIZATION_ENCRYPT тег проверяется на любой ключ, используемый в переносящейся работе.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationExportClear

      kSecACLAuthorizationExportClear

      Экспортируйте незашифрованный ключ.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationImportWrapped

      kSecACLAuthorizationImportWrapped

      Импортируйте зашифрованный ключ. Этот тег проверяется на импортируемом ключе; кроме того, CSSM_ACL_AUTHORIZATION_DECRYPT тег проверяется на любой ключ, используемый в работе разворачивания.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationImportClear

      kSecACLAuthorizationImportClear

      Импортируйте незашифрованный ключ.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationSign

      kSecACLAuthorizationSign

      Снабдите цифровой подписью данные.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationEncrypt

      kSecACLAuthorizationEncrypt

      Зашифруйте данные.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationDecrypt

      kSecACLAuthorizationDecrypt

      Дешифруйте данные.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationMAC

      kSecACLAuthorizationMAC

      Создайте или проверьте код аутентификации сообщений.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationDerive

      kSecACLAuthorizationDerive

      Получите новый ключ из другого ключа.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationKeychainCreate

      kSecACLAuthorizationKeychainCreate

      Создайте новую цепочку для ключей.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationKeychainDelete

      kSecACLAuthorizationKeychainDelete

      Удалите цепочку для ключей.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationKeychainItemRead

      kSecACLAuthorizationKeychainItemRead

      Считайте элемент из цепочки для ключей.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationKeychainItemInsert

      kSecACLAuthorizationKeychainItemInsert

      Вставьте элемент в цепочку для ключей.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationKeychainItemModify

      kSecACLAuthorizationKeychainItemModify

      Измените элемент в цепочке для ключей.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationKeychainItemDelete

      kSecACLAuthorizationKeychainItemDelete

      Удалите элемент из цепочки для ключей.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationChangeACL

      kSecACLAuthorizationChangeACL

      Измените запись списка управления доступом.

      Доступный в OS X v10.7 и позже.

    • kSecACLAuthorizationChangeOwner

      kSecACLAuthorizationChangeOwner

      Поскольку внутренняя система использует только. Используйте CSSM_ACL_AUTHORIZATION_CHANGE_ACL тег для изменений во владельце записи ACL.

      Доступный в OS X v10.7 и позже.

  • Определяет константы, указывающие, каким операциям запись списка управления доступом применяется к.

    Объявление

    Swift

    typealias CSSM_ACL_AUTHORIZATION_TAG = sint32

    Objective C

    typedef sint32 CSSM_ACL_AUTHORIZATION_TAG; enum { CSSM_ACL_AUTHORIZATION_TAG_VENDOR_DEFINED_START = 0x00010000, CSSM_ACL_AUTHORIZATION_ANY = CSSM_WORDID__STAR_, CSSM_ACL_AUTHORIZATION_LOGIN = CSSM_WORDID_LOGIN, CSSM_ACL_AUTHORIZATION_GENKEY = CSSM_WORDID_GENKEY, CSSM_ACL_AUTHORIZATION_DELETE = CSSM_WORDID_DELETE, CSSM_ACL_AUTHORIZATION_EXPORT_WRAPPED = CSSM_WORDID_EXPORT_WRAPPED, CSSM_ACL_AUTHORIZATION_EXPORT_CLEAR =CSSM_WORDID_EXPORT_CLEAR, CSSM_ACL_AUTHORIZATION_IMPORT_WRAPPED = CSSM_WORDID_IMPORT_WRAPPED, CSSM_ACL_AUTHORIZATION_IMPORT_CLEAR =CSSM_WORDID_IMPORT_CLEAR, CSSM_ACL_AUTHORIZATION_SIGN = CSSM_WORDID_SIGN, CSSM_ACL_AUTHORIZATION_ENCRYPT = CSSM_WORDID_ENCRYPT, CSSM_ACL_AUTHORIZATION_DECRYPT = CSSM_WORDID_DECRYPT, CSSM_ACL_AUTHORIZATION_MAC = CSSM_WORDID_MAC, CSSM_ACL_AUTHORIZATION_DERIVE = CSSM_WORDID_DERIVE }; /* Apple-defined ACL authorization tags */ enum { CSSM_ACL_AUTHORIZATION_CHANGE_ACL = CSSM_ACL_AUTHORIZATION_TAG_VENDOR_DEFINED_START, CSSM_ACL_AUTHORIZATION_CHANGE_OWNER };

    Константы

    • CSSM_ACL_AUTHORIZATION_TAG_VENDOR_DEFINED_START

      CSSM_ACL_AUTHORIZATION_TAG_VENDOR_DEFINED_START

      Весь поставщик определенные константы должен быть в диапазоне числа, запускающемся в этом значении.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_ANY

      CSSM_ACL_AUTHORIZATION_ANY

      Никакие ограничения. Эта запись ACL применяется ко всем операциям, доступным вызывающей стороне.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_LOGIN

      CSSM_ACL_AUTHORIZATION_LOGIN

      Используйте для CSP (смарт-карта) вход в систему.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_GENKEY

      CSSM_ACL_AUTHORIZATION_GENKEY

      Генерируйте ключ.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_DELETE

      CSSM_ACL_AUTHORIZATION_DELETE

      Удалите этот элемент.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_EXPORT_WRAPPED

      CSSM_ACL_AUTHORIZATION_EXPORT_WRAPPED

      Экспортируйте обернутый (т.е. зашифрованный) ключ. Этот тег проверяется на экспортируемом ключе; кроме того, CSSM_ACL_AUTHORIZATION_ENCRYPT тег проверяется на любой ключ, используемый в переносящейся работе.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_EXPORT_CLEAR

      CSSM_ACL_AUTHORIZATION_EXPORT_CLEAR

      Экспортируйте незашифрованный ключ.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_IMPORT_WRAPPED

      CSSM_ACL_AUTHORIZATION_IMPORT_WRAPPED

      Импортируйте зашифрованный ключ. Этот тег проверяется на импортируемом ключе; кроме того, CSSM_ACL_AUTHORIZATION_DECRYPT тег проверяется на любой ключ, используемый в работе разворачивания.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_IMPORT_CLEAR

      CSSM_ACL_AUTHORIZATION_IMPORT_CLEAR

      Импортируйте незашифрованный ключ.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_SIGN

      CSSM_ACL_AUTHORIZATION_SIGN

      Снабдите цифровой подписью данные.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_ENCRYPT

      CSSM_ACL_AUTHORIZATION_ENCRYPT

      Зашифруйте данные.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_DECRYPT

      CSSM_ACL_AUTHORIZATION_DECRYPT

      Дешифруйте данные.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_MAC

      CSSM_ACL_AUTHORIZATION_MAC

      Создайте или проверьте код аутентификации сообщений.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_DERIVE

      CSSM_ACL_AUTHORIZATION_DERIVE

      Получите новый ключ из другого ключа.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_CHANGE_ACL

      CSSM_ACL_AUTHORIZATION_CHANGE_ACL

      Измените запись списка управления доступом.

      Доступный в OS X v10.0 и позже.

    • CSSM_ACL_AUTHORIZATION_CHANGE_OWNER

      CSSM_ACL_AUTHORIZATION_CHANGE_OWNER

      Поскольку внутренняя система использует только. Используйте CSSM_ACL_AUTHORIZATION_CHANGE_ACL тег для изменений во владельце записи ACL.

      Доступный в OS X v10.0 и позже.

    Оператор импорта

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

    Доступный в OS X v10.0 и позже.

Коды результата

Наиболее распространенные коды результата, возвращенные Keychain Services, перечислены в таблице ниже. Присвоенное ошибочное пространство для Keychain Services прерывисто: –25240 до –25279 и –25290 до –25329. Keychain Item Services может также возвратиться noErr (0) или paramErr (–50), или коды результата CSSM (см. Коллективную безопасность: CDSA и CSSM, версия 2 (с исправлениями) от Open Group (http://www .opengroup.org/security/cdsa.htm)).

  • Никакая ошибка.

    Значение

    0

    Описание

    Никакая ошибка.

    Доступный в OS X v10.6 и позже.

  • Функция или работа, не реализованная.

    Значение

    - 4

    Описание

    Функция или работа, не реализованная.

    Доступный в OS X v10.6 и позже.

  • Один или более параметров, переданных функции, не были допустимы.

    Значение

    - 50

    Описание

    Один или более параметров, переданных функции, не были допустимы.

    Доступный в OS X v10.6 и позже.

  • Не удалось выделить память.

    Значение

    - 108

    Описание

    Не удалось выделить память.

    Доступный в OS X v10.6 и позже.

  • Никакие доверительные результаты не доступны.

    Значение

    – 25291

    Описание

    Никакие доверительные результаты не доступны.

    Доступный в OS X v10.2 и позже.

  • Ошибка только для чтения.

    Значение

    – 25292

    Описание

    Ошибка только для чтения.

    Доступный в OS X v10.2 и позже.

  • Авторизация/Аутентификация перестала работать.

    Значение

    – 25293

    Описание

    Авторизация/Аутентификация перестала работать.

    Доступный в OS X v10.2 и позже.

  • Цепочка для ключей не существует.

    Значение

    – 25294

    Описание

    Цепочка для ключей не существует.

    Доступный в OS X v10.2 и позже.

  • Цепочка для ключей не допустима.

    Значение

    – 25295

    Описание

    Цепочка для ключей не допустима.

    Доступный в OS X v10.2 и позже.

  • Цепочка для ключей с тем же именем уже существует.

    Значение

    – 25296

    Описание

    Цепочка для ключей с тем же именем уже существует.

    Доступный в OS X v10.2 и позже.

  • Больше чем один обратный вызов того же имени существует.

    Значение

    – 25297

    Описание

    Больше чем один обратный вызов того же имени существует.

    Доступный в OS X v10.2 и позже.

  • Обратный вызов не допустим.

    Значение

    – 25298

    Описание

    Обратный вызов не допустим.

    Доступный в OS X v10.2 и позже.

  • Элемент уже существует.

    Значение

    – 25299

    Описание

    Элемент уже существует.

    Доступный в OS X v10.2 и позже.

  • Элемент не может быть найден.

    Значение

    – 25300

    Описание

    Элемент не может быть найден.

    Доступный в OS X v10.2 и позже.

  • Буфер является слишком маленьким.

    Значение

    – 25301

    Описание

    Буфер является слишком маленьким.

    Доступный в OS X v10.2 и позже.

  • Данные являются слишком большими для определенного типа данных.

    Значение

    – 25302

    Описание

    Данные являются слишком большими для определенного типа данных.

    Доступный в OS X v10.2 и позже.

  • Атрибут не существует.

    Значение

    – 25303

    Описание

    Атрибут не существует.

    Доступный в OS X v10.2 и позже.

  • Ссылка элемента недопустима.

    Значение

    – 25304

    Описание

    Ссылка элемента недопустима.

    Доступный в OS X v10.2 и позже.

  • Поисковая ссылка недопустима.

    Значение

    – 25305

    Описание

    Поисковая ссылка недопустима.

    Доступный в OS X v10.2 и позже.

  • Класс элемента цепочки для ключей не существует.

    Значение

    – 25306

    Описание

    Класс элемента цепочки для ключей не существует.

    Доступный в OS X v10.2 и позже.

  • Цепочка для ключей по умолчанию не существует.

    Значение

    – 25307

    Описание

    Цепочка для ключей по умолчанию не существует.

    Доступный в OS X v10.2 и позже.

  • Взаимодействие с Сервером безопасности не позволяется.

    Значение

    – 25308

    Описание

    Взаимодействие с Сервером безопасности не позволяется.

    Доступный в OS X v10.2 и позже.

  • Атрибут только для чтения.

    Значение

    – 25309

    Описание

    Атрибут только для чтения.

    Доступный в OS X v10.2 и позже.

  • Версия является неправильной.

    Значение

    – 25310

    Описание

    Версия является неправильной.

    Доступный в OS X v10.2 и позже.

  • Размер ключа не позволяется.

    Значение

    – 25311

    Описание

    Размер ключа не позволяется.

    Доступный в OS X v10.2 и позже.

  • Нет никакого доступного модуля хранения.

    Значение

    – 25312

    Описание

    Нет никакого доступного модуля хранения.

    Доступный в OS X v10.2 и позже.

  • Нет никакого доступного модуля сертификата.

    Значение

    – 25313

    Описание

    Нет никакого доступного модуля сертификата.

    Доступный в OS X v10.2 и позже.

  • Нет никакого доступного модуля политики.

    Значение

    – 25314

    Описание

    Нет никакого доступного модуля политики.

    Доступный в OS X v10.2 и позже.

  • Взаимодействие с пользователем требуется.

    Значение

    – 25315

    Описание

    Взаимодействие с пользователем требуется.

    Доступный в OS X v10.2 и позже.

  • Данные не доступны.

    Значение

    – 25316

    Описание

    Данные не доступны.

    Доступный в OS X v10.2 и позже.

  • Данные не являются модифицируемыми.

    Значение

    – 25317

    Описание

    Данные не являются модифицируемыми.

    Доступный в OS X v10.2 и позже.

  • Попытка создать цепочку сертификата перестала работать.

    Значение

    – 25318

    Описание

    Попытка создать цепочку сертификата перестала работать.

    Доступный в OS X v10.2 и позже.

  • Предпочтительный указанный домен недопустим. Эта ошибка доступна в OS X v10.3 и позже.

    Значение

    – 25319

    Описание

    Предпочтительный указанный домен недопустим. Эта ошибка доступна в OS X v10.3 и позже.

    Доступный в OS X v10.3 и позже.

  • Пользовательский интерфейс не мог быть выведен на экран, потому что система находится в темном состоянии следа.

    Значение

    - 25320

    Описание

    Пользовательский интерфейс не мог быть выведен на экран, потому что система находится в темном состоянии следа.

    Доступный в OS X v10.7 и позже.

  • Список управления доступом не находится в стандартной простой форме.

    Значение

    – 25240

    Описание

    Список управления доступом не находится в стандартной простой форме.

    Доступный в OS X v10.2 и позже.

  • Указанная политика не может быть найдена.

    Значение

    – 25241

    Описание

    Указанная политика не может быть найдена.

    Доступный в OS X v10.2 и позже.

  • Доверительная установка недопустима.

    Значение

    – 25262

    Описание

    Доверительная установка недопустима.

    Доступный в OS X v10.2 и позже.

  • Указанный элемент не имеет никакого управления доступом.

    Значение

    – 25243

    Описание

    Указанный элемент не имеет никакого управления доступом.

    Доступный в OS X v10.2 и позже.

  • Недопустимая попытка изменить владельца элемента.

    Значение

    – 25244

    Описание

    Недопустимая попытка изменить владельца элемента.

    Доступный в OS X v10.2 и позже.

  • Никакие доверительные результаты не доступны.

    Значение

    – 25245

    Описание

    Никакие доверительные результаты не доступны.

    Доступный в OS X v10.3 и позже.

  • Указанный формат импорта или формат экспорта не поддерживаются.

    Значение

    – 25256

    Описание

    Указанный формат импорта или формат экспорта не поддерживаются.

    Доступный в OS X v10.4 и позже.

  • Элемент, который Вы пытаетесь импортировать, имеет неизвестный формат.

    Значение

    – 25257

    Описание

    Элемент, который Вы пытаетесь импортировать, имеет неизвестный формат.

    Доступный в OS X v10.4 и позже.

  • Ключ должен быть обернут, чтобы быть экспортированным.

    Значение

    – 25258

    Описание

    Ключ должен быть обернут, чтобы быть экспортированным.

    Доступный в OS X v10.4 и позже.

  • Попытка была предпринята для импорта многократных закрытых ключей.

    Значение

    – 25259

    Описание

    Попытка была предпринята для импорта многократных закрытых ключей.

    Доступный в OS X v10.4 и позже.

  • Пароль требуется для импорта или экспорта.

    Значение

    – 25260

    Описание

    Пароль требуется для импорта или экспорта.

    Доступный в OS X v10.4 и позже.

  • Ссылка пароля была недопустима.

    Значение

    - 25261

    Описание

    Ссылка пароля была недопустима.

    Доступный в OS X v10.4 и позже.

  • Доверительная запись настроек была повреждена.

    Значение

    - 25262

    Описание

    Доверительная запись настроек была повреждена.

    Доступный в OS X v10.5 и позже.

  • Никакие доверительные настройки не были найдены.

    Значение

    - 25263

    Описание

    Никакие доверительные настройки не были найдены.

    Доступный в OS X v10.5 и позже.

  • Проверка MAC перестала работать во время Импорта PKCS12.

    Значение

    - 25264

    Описание

    Проверка MAC перестала работать во время Импорта PKCS12.

    Доступный в OS X v10.5 и позже.

  • Сертификат не был подписан его предложенным родителем.

    Значение

    - 26267

    Описание

    Сертификат не был подписан его предложенным родителем.

    Доступный в OS X v10.7 и позже.

  • Неспособный декодировать предоставленные данные.

    Значение

    - 26275

    Описание

    Неспособный декодировать предоставленные данные.

    Доступный в OS X v10.6 и позже.

  • Требуемая служба не доступна.

    Значение

    - 67585

    Описание

    Требуемая служба не доступна.

    Доступный в OS X v10.7 и позже.

  • Идентификатор клиента не корректен.

    Значение

    - 67586

    Описание

    Идентификатор клиента не корректен.

    Доступный в OS X v10.7 и позже.

  • Сброс устройства произошел.

    Значение

    - 67587

    Описание

    Сброс устройства произошел.

    Доступный в OS X v10.7 и позже.

  • Отказ устройства произошел.

    Значение

    - 67588

    Описание

    Отказ устройства произошел.

    Доступный в OS X v10.7 и позже.

  • При добавлении приложения перестал работать предмет ACL.

    Значение

    - 67589

    Описание

    При добавлении приложения перестал работать предмет ACL.

    Доступный в OS X v10.7 и позже.

  • Открытый ключ является неполным.

    Значение

    - 67590

    Описание

    Открытый ключ является неполным.

    Доступный в OS X v10.7 и позже.

  • Несоответствие подписи произошло.

    Значение

    - 67591

    Описание

    Несоответствие подписи произошло.

    Доступный в OS X v10.7 и позже.

  • Указанный ключ имеет недопустимую дату начала.

    Значение

    - 67592

    Описание

    Указанный ключ имеет недопустимую дату начала.

    Доступный в OS X v10.7 и позже.

  • Указанный ключ имеет недопустимую дату окончания.

    Значение

    - 67593

    Описание

    Указанный ключ имеет недопустимую дату окончания.

    Доступный в OS X v10.7 и позже.

  • Ошибка преобразования произошла.

    Значение

    - 67594

    Описание

    Ошибка преобразования произошла.

    Доступный в OS X v10.7 и позже.

  • Ошибка отката SSLv2 произошла.

    Значение

    - 67595

    Описание

    Ошибка отката SSLv2 произошла.

    Доступный в OS X v10.7 и позже.

  • Диск полон.

    Значение

    - 34

    Описание

    Диск полон.

    Доступный в OS X v10.7 и позже.

  • Квота была превышена.

    Значение

    - 67596

    Описание

    Квота была превышена.

    Доступный в OS X v10.7 и позже.

  • Файл является слишком большим.

    Значение

    - 67597

    Описание

    Файл является слишком большим.

    Доступный в OS X v10.7 и позже.

  • Указанная база данных имеет недопустимый блоб.

    Значение

    - 67598

    Описание

    Указанная база данных имеет недопустимый блоб.

    Доступный в OS X v10.7 и позже.

  • Указанная база данных имеет недопустимый ключевой блоб.

    Значение

    - 67599

    Описание

    Указанная база данных имеет недопустимый ключевой блоб.

    Доступный в OS X v10.7 и позже.

  • Указанная база данных имеет несовместимый блоб.

    Значение

    - 67600

    Описание

    Указанная база данных имеет несовместимый блоб.

    Доступный в OS X v10.7 и позже.

  • Указанная база данных имеет несовместимый ключевой блоб.

    Значение

    - 67601

    Описание

    Указанная база данных имеет несовместимый ключевой блоб.

    Доступный в OS X v10.7 и позже.

  • Несоответствие имени хоста произошло.

    Значение

    - 67602

    Описание

    Несоответствие имени хоста произошло.

    Доступный в OS X v10.7 и позже.

  • Существует неизвестный критический дополнительный флаг.

    Значение

    - 67603

    Описание

    Существует неизвестный критический дополнительный флаг.

    Доступный в OS X v10.7 и позже.

  • Никакие основные ограничения не были найдены.

    Значение

    - 67604

    Описание

    Никакие основные ограничения не были найдены.

    Доступный в OS X v10.7 и позже.

  • Никакие основные ограничения CA не были найдены.

    Значение

    - 67605

    Описание

    Никакие основные ограничения CA не были найдены.

    Доступный в OS X v10.7 и позже.

  • Ключ ID полномочий не допустим.

    Значение

    - 67606

    Описание

    Ключ ID полномочий не допустим.

    Доступный в OS X v10.7 и позже.

  • Подчиненный ключ ID не допустим.

    Значение

    - 67607

    Описание

    Подчиненный ключ ID не допустим.

    Доступный в OS X v10.7 и позже.

  • Ключевое использование не допустимо для указанной политики.

    Значение

    - 67608

    Описание

    Ключевое использование не допустимо для указанной политики.

    Доступный в OS X v10.7 и позже.

  • Расширенное ключевое использование не допустимо.

    Значение

    - 67609

    Описание

    Расширенное ключевое использование не допустимо.

    Доступный в OS X v10.7 и позже.

  • Связь ID не допустима.

    Значение

    - 67610

    Описание

    Связь ID не допустима.

    Доступный в OS X v10.7 и позже.

  • Ограничение длины пути было превышено.

    Значение

    - 67611

    Описание

    Ограничение длины пути было превышено.

    Доступный в OS X v10.7 и позже.

  • Корневой или сертификат привязки не допустим.

    Значение

    - 67612

    Описание

    Корневой или сертификат привязки не допустим.

    Доступный в OS X v10.7 и позже.

  • CRL истек.

    Значение

    - 67613

    Описание

    CRL истек.

    Доступный в OS X v10.7 и позже.

  • CRL еще не допустим.

    Значение

    - 67614

    Описание

    CRL еще не допустим.

    Доступный в OS X v10.7 и позже.

  • CRL не был найден.

    Значение

    - 67615

    Описание

    CRL не был найден.

    Доступный в OS X v10.7 и позже.

  • Сервер CRL снижается.

    Значение

    - 67616

    Описание

    Сервер CRL снижается.

    Доступный в OS X v10.7 и позже.

  • CRL имеет плохой Универсальный идентификатор ресурса.

    Значение

    - 67617

    Описание

    CRL имеет плохой Универсальный идентификатор ресурса.

    Доступный в OS X v10.7 и позже.

  • Встретились с неизвестным расширением сертификата.

    Значение

    - 67618

    Описание

    Встретились с неизвестным расширением сертификата.

    Доступный в OS X v10.7 и позже.

  • Встретились с неизвестным расширением CRL.

    Значение

    - 67619

    Описание

    Встретились с неизвестным расширением CRL.

    Доступный в OS X v10.7 и позже.

  • CRL не доверяют.

    Значение

    - 67620

    Описание

    CRL не доверяют.

    Доступный в OS X v10.7 и позже.

  • Политика CRL перестала работать.

    Значение

    - 67621

    Описание

    Политика CRL перестала работать.

    Доступный в OS X v10.7 и позже.

  • Распределительный пункт выпуска не был допустим.

    Значение

    - 67622

    Описание

    Распределительный пункт выпуска не был допустим.

    Доступный в OS X v10.7 и позже.

  • С несоответствием адреса электронной почты встретились.

    Значение

    - 67623

    Описание

    С несоответствием адреса электронной почты встретились.

    Доступный в OS X v10.7 и позже.

  • Надлежащее расширенное ключевое использование для SMIME не было найдено.

    Значение

    - 67624

    Описание

    Надлежащее расширенное ключевое использование для SMIME не было найдено.

    Доступный в OS X v10.7 и позже.

  • Ключевое использование не совместимо с SMIME.

    Значение

    - 67625

    Описание

    Ключевое использование не совместимо с SMIME.

    Доступный в OS X v10.7 и позже.

  • Ключевое расширение использования не отмечено как критически важное.

    Значение

    - 67626

    Описание

    Ключевое расширение использования не отмечено как критически важное.

    Доступный в OS X v10.7 и позже.

  • Никакой адрес электронной почты не был найден в сертификате.

    Значение

    - 67627

    Описание

    Никакой адрес электронной почты не был найден в сертификате.

    Доступный в OS X v10.7 и позже.

  • Подчиненное расширение имени альтернативы не отмечено как критически важное.

    Значение

    - 67628

    Описание

    Подчиненное расширение имени альтернативы не отмечено как критически важное.

    Доступный в OS X v10.7 и позже.

  • Надлежащее расширенное ключевое использование для SSL не было найдено.

    Значение

    - 67629

    Описание

    Надлежащее расширенное ключевое использование для SSL не было найдено.

    Доступный в OS X v10.7 и позже.

  • Ответ OCSP был неправильным или не мог быть проанализирован.

    Значение

    - 67630

    Описание

    Ответ OCSP был неправильным или не мог быть проанализирован.

    Доступный в OS X v10.7 и позже.

  • Запрос OCSP был неправильным или не мог быть проанализирован.

    Значение

    - 67631

    Описание

    Запрос OCSP был неправильным или не мог быть проанализирован.

    Доступный в OS X v10.7 и позже.

  • Служба OCSP недоступна.

    Значение

    - 67632

    Описание

    Служба OCSP недоступна.

    Доступный в OS X v10.7 и позже.

  • Сервер OCSP не распознавал этот сертификат.

    Значение

    - 67633

    Описание

    Сервер OCSP не распознавал этот сертификат.

    Доступный в OS X v10.7 и позже.

  • Конец данных был обнаружен.

    Значение

    - 67634

    Описание

    Конец данных был обнаружен.

    Доступный в OS X v10.7 и позже.

  • Произошла неполная проверка аннулирования сертификата.

    Значение

    - 67635

    Описание

    Произошла неполная проверка аннулирования сертификата.

    Доступный в OS X v10.7 и позже.

  • Отказ сети произошел.

    Значение

    - 67636

    Описание

    Отказ сети произошел.

    Доступный в OS X v10.7 и позже.

  • Ответ OCSP не был доверен корневому или сертификату привязки.

    Значение

    - 67637

    Описание

    Ответ OCSP не был доверен корневому или сертификату привязки.

    Доступный в OS X v10.7 и позже.

  • Запись была изменена.

    Значение

    - 67638

    Описание

    Запись была изменена.

    Доступный в OS X v10.7 и позже.

  • Ответ OCSP имел недействительную подпись.

    Значение

    - 67639

    Описание

    Ответ OCSP имел недействительную подпись.

    Доступный в OS X v10.7 и позже.

  • Ответ OCSP не имел никакого подписывающего лица.

    Значение

    - 67640

    Описание

    Ответ OCSP не имел никакого подписывающего лица.

    Доступный в OS X v10.7 и позже.

  • Респонденту OCSP дали уродливый запрос.

    Значение

    - 67641

    Описание

    Респонденту OCSP дали уродливый запрос.

    Доступный в OS X v10.7 и позже.

  • Респондент OCSP встретился с внутренней ошибкой.

    Значение

    - 67642

    Описание

    Респондент OCSP встретился с внутренней ошибкой.

    Доступный в OS X v10.7 и позже.

  • Респондент OCSP занят, попробуйте еще раз позже.

    Значение

    - 67643

    Описание

    Респондент OCSP занят, попробуйте еще раз позже.

    Доступный в OS X v10.7 и позже.

  • Респондент OCSP требует подписи.

    Значение

    - 67644

    Описание

    Респондент OCSP требует подписи.

    Доступный в OS X v10.7 и позже.

  • Респондент OCSP отклонил этот запрос как несанкционированный.

    Значение

    - 67645

    Описание

    Респондент OCSP отклонил этот запрос как несанкционированный.

    Доступный в OS X v10.7 и позже.

  • Данный случай ответа OCSP не соответствовал запрос.

    Значение

    - 67646

    Описание

    Данный случай ответа OCSP не соответствовал запрос.

    Доступный в OS X v10.7 и позже.

  • Подписывание кода встретилось с неправильной длиной цепочки сертификата.

    Значение

    - 67647

    Описание

    Подписывание кода встретилось с неправильной длиной цепочки сертификата.

    Доступный в OS X v10.7 и позже.

  • Подписывание кода не нашло основных ограничений.

    Значение

    - 67648

    Описание

    Подписывание кода не нашло основных ограничений.

    Доступный в OS X v10.7 и позже.

  • Подписывание кода встретилось с неправильным ограничением длины пути.

    Значение

    Описание

    Подписывание кода встретилось с неправильным ограничением длины пути.

    Доступный в OS X v10.7 и позже.

  • Подписывание кода не нашло расширенного ключевого использования.

    Значение

    - 67650

    Описание

    Подписывание кода не нашло расширенного ключевого использования.

    Доступный в OS X v10.7 и позже.

  • Подписывание кода указало использование сертификата только для разработки.

    Значение

    - 67651

    Описание

    Подписывание кода указало использование сертификата только для разработки.

    Доступный в OS X v10.7 и позже.

  • Подписание ресурса встретилось с неправильной длиной цепочки сертификата.

    Значение

    - 67652

    Описание

    Подписание ресурса встретилось с неправильной длиной цепочки сертификата.

    Доступный в OS X v10.7 и позже.

  • Подписание ресурса встретилось с ошибкой в расширенном ключевом использовании.

    Значение

    - 67653

    Описание

    Подписание ресурса встретилось с ошибкой в расширенном ключевом использовании.

    Доступный в OS X v10.7 и позже.

  • Доверительная установка для этой политики была установлена Отклонить.

    Значение

    - 67654

    Описание

    Доверительная установка для этой политики была установлена Отклонить.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым именем предмета сертификата.

    Значение

    - 67655

    Описание

    Встретились с недопустимым именем предмета сертификата.

    Доступный в OS X v10.7 и позже.

  • Встретились с неизвестным квалифицированным оператором сертификата.

    Значение

    - 67656

    Описание

    Встретились с неизвестным квалифицированным оператором сертификата.

    Доступный в OS X v10.7 и позже.

  • Запрос MobileMe будет отправлен во время следующего соединения.

    Значение

    - 67657

    Описание

    Запрос MobileMe будет отправлен во время следующего соединения.

    Доступный в OS X v10.7 и позже.

  • Запрос MobileMe был перенаправлен.

    Значение

    - 67658

    Описание

    Запрос MobileMe был перенаправлен.

    Доступный в OS X v10.7 и позже.

  • Ошибка сервера MobileMe произошла.

    Значение

    - 67659

    Описание

    Ошибка сервера MobileMe произошла.

    Доступный в OS X v10.7 и позже.

  • Сервер MobileMe не доступен.

    Значение

    - 67660

    Описание

    Сервер MobileMe не доступен.

    Доступный в OS X v10.7 и позже.

  • Сервер MobileMe сообщил, что уже существует элемент.

    Значение

    - 67661

    Описание

    Сервер MobileMe сообщил, что уже существует элемент.

    Доступный в OS X v10.7 и позже.

  • Ошибка службы MobileMe произошла.

    Значение

    - 67662

    Описание

    Ошибка службы MobileMe произошла.

    Доступный в OS X v10.7 и позже.

  • Запрос MobileMe уже находится на рассмотрении.

    Значение

    - 67663

    Описание

    Запрос MobileMe уже находится на рассмотрении.

    Доступный в OS X v10.7 и позже.

  • MobileMe не имеет никакого ожидания запроса.

    Значение

    - 67664

    Описание

    MobileMe не имеет никакого ожидания запроса.

    Доступный в OS X v10.7 и позже.

  • MobileMe отказ проверки CSR произошел.

    Значение

    - 67665

    Описание

    MobileMe отказ проверки CSR произошел.

    Доступный в OS X v10.7 и позже.

  • MobileMe нашел неработающую проверку непротиворечивости.

    Значение

    - 67666

    Описание

    MobileMe нашел неработающую проверку непротиворечивости.

    Доступный в OS X v10.7 и позже.

  • Функция была вызвана, не инициализируя CSSM.

    Значение

    - 67667

    Описание

    Функция была вызвана, не инициализируя CSSM.

    Доступный в OS X v10.7 и позже.

  • Дескриптор CSSM не соответствует с типом службы.

    Значение

    - 67668

    Описание

    Дескриптор CSSM не соответствует с типом службы.

    Доступный в OS X v10.7 и позже.

  • Ссылка на модуль вызова не была найдена в списке авторизованных вызывающих абонентов.

    Значение

    - 67669

    Описание

    Ссылка на модуль вызова не была найдена в списке авторизованных вызывающих абонентов.

    Доступный в OS X v10.7 и позже.

  • Функциональный адрес не был в проверенном модуле.

    Значение

    - 67670

    Описание

    Функциональный адрес не был в проверенном модуле.

    Доступный в OS X v10.7 и позже.

  • Произошла внутренняя ошибка.

    Значение

    - 67671

    Описание

    Произошла внутренняя ошибка.

    Доступный в OS X v10.7 и позже.

  • Ошибка памяти произошла.

    Значение

    - 67672

    Описание

    Ошибка памяти произошла.

    Доступный в OS X v10.7 и позже.

  • С недопустимыми данными встретились.

    Значение

    - 67673

    Описание

    С недопустимыми данными встретились.

    Доступный в OS X v10.7 и позже.

  • Ошибка Службы каталогов Модуля произошла.

    Значение

    - 67674

    Описание

    Ошибка Службы каталогов Модуля произошла.

    Доступный в OS X v10.7 и позже.

  • С недопустимым указателем встретились.

    Значение

    - 67675

    Описание

    С недопустимым указателем встретились.

    Доступный в OS X v10.7 и позже.

  • Чек, предъявленный в банк, на который он выписан перестал работать.

    Значение

    - 67676

    Описание

    Чек, предъявленный в банк, на который он выписан перестал работать.

    Доступный в OS X v10.7 и позже.

  • Функция перестала работать.

    Значение

    - 67677

    Описание

    Функция перестала работать.

    Доступный в OS X v10.7 и позже.

  • Отказ проверки декларации модуля произошел.

    Значение

    - 67678

    Описание

    Отказ проверки декларации модуля произошел.

    Доступный в OS X v10.7 и позже.

  • С недопустимым GUID встретились.

    Значение

    - 67679

    Описание

    С недопустимым GUID встретились.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым дескриптором.

    Значение

    - 67680

    Описание

    Встретились с недопустимым дескриптором.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым списком DB.

    Значение

    - 67681

    Описание

    Встретились с недопустимым списком DB.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимой передачей ID.

    Значение

    - 67682

    Описание

    Встретились с недопустимой передачей ID.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым сетевым адресом.

    Значение

    - 67683

    Описание

    Встретились с недопустимым сетевым адресом.

    Доступный в OS X v10.7 и позже.

  • Список аннулированных сертификатов уже подписывается.

    Значение

    - 67684

    Описание

    Список аннулированных сертификатов уже подписывается.

    Доступный в OS X v10.7 и позже.

  • С неверным номером полей встретились.

    Значение

    - 67685

    Описание

    С неверным номером полей встретились.

    Доступный в OS X v10.7 и позже.

  • Отказ проверки произошел.

    Значение

    - 67686

    Описание

    Отказ проверки произошел.

    Доступный в OS X v10.7 и позже.

  • Встретились с неизвестным тегом.

    Значение

    - 67687

    Описание

    Встретились с неизвестным тегом.

    Доступный в OS X v10.7 и позже.

  • С недействительной подписью встретились.

    Значение

    - 67688

    Описание

    С недействительной подписью встретились.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым именем.

    Значение

    - 67689

    Описание

    Встретились с недопустимым именем.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимой ссылкой сертификата.

    Значение

    - 67690

    Описание

    Встретились с недопустимой ссылкой сертификата.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимой группой сертификата.

    Значение

    - 67691

    Описание

    Встретились с недопустимой группой сертификата.

    Доступный в OS X v10.7 и позже.

  • Указанный тег не был найден.

    Значение

    - 67692

    Описание

    Указанный тег не был найден.

    Доступный в OS X v10.7 и позже.

  • Указанный запрос не был допустим.

    Значение

    - 67693

    Описание

    Указанный запрос не был допустим.

    Доступный в OS X v10.7 и позже.

  • Было обнаружено недопустимое значение.

    Значение

    - 67694

    Описание

    Было обнаружено недопустимое значение.

    Доступный в OS X v10.7 и позже.

  • Обратный вызов перестал работать.

    Значение

    - 67695

    Описание

    Обратный вызов перестал работать.

    Доступный в OS X v10.7 и позже.

  • ACL удаляет работу, перестал работать.

    Значение

    - 67696

    Описание

    ACL удаляет работу, перестал работать.

    Доступный в OS X v10.7 и позже.

  • Работа замены ACL перестала работать.

    Значение

    - 67697

    Описание

    Работа замены ACL перестала работать.

    Доступный в OS X v10.7 и позже.

  • ACL добавляет, что работа перестала работать.

    Значение

    - 67698

    Описание

    ACL добавляет, что работа перестала работать.

    Доступный в OS X v10.7 и позже.

  • Работа изменения ACL перестала работать.

    Значение

    - 67699

    Описание

    Работа изменения ACL перестала работать.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимыми учетными данными доступа.

    Значение

    - 67700

    Описание

    Встретились с недопустимыми учетными данными доступа.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимой записью.

    Значение

    - 67701

    Описание

    Встретились с недопустимой записью.

    Доступный в OS X v10.7 и позже.

  • С недопустимым ACL встретились.

    Значение

    - 67702

    Описание

    С недопустимым ACL встретились.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым демонстрационным значением.

    Значение

    - 67703

    Описание

    Встретились с недопустимым демонстрационным значением.

    Доступный в OS X v10.7 и позже.

  • С несовместимой версией встретились.

    Значение

    - 67704

    Описание

    С несовместимой версией встретились.

    Доступный в OS X v10.7 и позже.

  • Полномочие не предоставили.

    Значение

    - 67705

    Описание

    Полномочие не предоставили.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым объемом.

    Значение

    - 67706

    Описание

    Встретились с недопустимым объемом.

    Доступный в OS X v10.7 и позже.

  • PVC уже сконфигурирован.

    Значение

    - 67707

    Описание

    PVC уже сконфигурирован.

    Доступный в OS X v10.7 и позже.

  • С недопустимым PVC встретились.

    Значение

    - 67708

    Описание

    С недопустимым PVC встретились.

    Доступный в OS X v10.7 и позже.

  • Загрузка EMM перестала работать.

    Значение

    - 67709

    Описание

    Загрузка EMM перестала работать.

    Доступный в OS X v10.7 и позже.

  • EMM разгружается, перестал работать.

    Значение

    - 67710

    Описание

    EMM разгружается, перестал работать.

    Доступный в OS X v10.7 и позже.

  • Дополнительная работа загрузки перестала работать.

    Значение

    - 67711

    Описание

    Дополнительная работа загрузки перестала работать.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым ключом.

    Значение

    - 67712

    Описание

    Встретились с недопустимым ключом.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимой ключевой иерархией.

    Значение

    - 67713

    Описание

    Встретились с недопустимой ключевой иерархией.

    Доступный в OS X v10.7 и позже.

  • Дополнение разгружается, работа перестала работать.

    Значение

    - 67714

    Описание

    Дополнение разгружается, работа перестала работать.

    Доступный в OS X v10.7 и позже.

  • Справочное руководство по библиотеке не было найдено.

    Значение

    - 67715

    Описание

    Справочное руководство по библиотеке не было найдено.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимой дополнительной таблицей функции.

    Значение

    - 67716

    Описание

    Встретились с недопустимой дополнительной таблицей функции.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимой маской службы.

    Значение

    - 67717

    Описание

    Встретились с недопустимой маской службы.

    Доступный в OS X v10.7 и позже.

  • Модуль не был загружен.

    Значение

    - 67718

    Описание

    Модуль не был загружен.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимой подслужбой ID.

    Значение

    - 67719

    Описание

    Встретились с недопустимой подслужбой ID.

    Доступный в OS X v10.7 и позже.

  • Атрибут не был в контексте.

    Значение

    - 67720

    Описание

    Атрибут не был в контексте.

    Доступный в OS X v10.7 и позже.

  • Модулю не удалось инициализировать.

    Значение

    - 67721

    Описание

    Модулю не удалось инициализировать.

    Доступный в OS X v10.7 и позже.

  • Модуль не был найден.

    Значение

    - 67722

    Описание

    Модуль не был найден.

    Доступный в OS X v10.7 и позже.

  • Обратный вызов уведомления о событии не был найден.

    Значение

    - 67723

    Описание

    Обратный вызов уведомления о событии не был найден.

    Доступный в OS X v10.7 и позже.

  • С ошибкой продолжительности ввода встретились.

    Значение

    - 67724

    Описание

    С ошибкой продолжительности ввода встретились.

    Доступный в OS X v10.7 и позже.

  • С ошибкой продолжительности вывода встретились.

    Значение

    - 67725

    Описание

    С ошибкой продолжительности вывода встретились.

    Доступный в OS X v10.7 и позже.

  • Полномочие не поддерживается.

    Значение

    - 67726

    Описание

    Полномочие не поддерживается.

    Доступный в OS X v10.7 и позже.

  • С ошибкой устройства встретились.

    Значение

    - 67727

    Описание

    С ошибкой устройства встретились.

    Доступный в OS X v10.7 и позже.

  • Дескриптор CSP был занят.

    Значение

    - 67728

    Описание

    Дескриптор CSP был занят.

    Доступный в OS X v10.7 и позже.

  • Вы не зарегистрированы.

    Значение

    - 67729

    Описание

    Вы не зарегистрированы.

    Доступный в OS X v10.7 и позже.

  • С несоответствием алгоритма встретились.

    Значение

    - 67730

    Описание

    С несоответствием алгоритма встретились.

    Доступный в OS X v10.7 и позже.

  • Ключевое использование является неправильным.

    Значение

    - 67731

    Описание

    Ключевое использование является неправильным.

    Доступный в OS X v10.7 и позже.

  • Ключевой тип блоба является неправильным.

    Значение

    - 67732

    Описание

    Ключевой тип блоба является неправильным.

    Доступный в OS X v10.7 и позже.

  • Ключевой заголовок противоречив.

    Значение

    - 67733

    Описание

    Ключевой заголовок противоречив.

    Доступный в OS X v10.7 и позже.

  • Ключевой формат заголовка не поддерживается.

    Значение

    - 67734

    Описание

    Ключевой формат заголовка не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Размер ключа не поддерживается.

    Значение

    - 67735

    Описание

    Размер ключа не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Ключевая маска использования не допустима.

    Значение

    - 67736

    Описание

    Ключевая маска использования не допустима.

    Доступный в OS X v10.7 и позже.

  • Ключевая маска использования не поддерживается.

    Значение

    - 67737

    Описание

    Ключевая маска использования не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Ключевая маска атрибута не допустима.

    Значение

    - 67738

    Описание

    Ключевая маска атрибута не допустима.

    Доступный в OS X v10.7 и позже.

  • Ключевая маска атрибута не поддерживается.

    Значение

    - 67739

    Описание

    Ключевая маска атрибута не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Ключевая метка не допустима.

    Значение

    - 67740

    Описание

    Ключевая метка не допустима.

    Доступный в OS X v10.7 и позже.

  • Ключевая метка не поддерживается.

    Значение

    - 67741

    Описание

    Ключевая метка не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Формат ключа не допустим.

    Значение

    - 67742

    Описание

    Формат ключа не допустим.

    Доступный в OS X v10.7 и позже.

  • Вектор буферов не поддерживается.

    Значение

    - 67743

    Описание

    Вектор буферов не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Входной вектор не допустим.

    Значение

    - 67744

    Описание

    Входной вектор не допустим.

    Доступный в OS X v10.7 и позже.

  • Выходной вектор не допустим.

    Значение

    - 67745

    Описание

    Выходной вектор не допустим.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым контекстом.

    Значение

    - 67746

    Описание

    Встретились с недопустимым контекстом.

    Доступный в OS X v10.7 и позже.

  • Встретились с недопустимым алгоритмом.

    Значение

    - 67747

    Описание

    Встретились с недопустимым алгоритмом.

    Доступный в OS X v10.7 и позже.

  • Ключевой атрибут не был допустим.

    Значение

    - 67748

    Описание

    Ключевой атрибут не был допустим.

    Доступный в OS X v10.7 и позже.

  • Ключевой атрибут отсутствовал.

    Значение

    - 67749

    Описание

    Ключевой атрибут отсутствовал.

    Доступный в OS X v10.7 и позже.

  • init векторный атрибут не был допустим.

    Значение

    - 67750

    Описание

    init векторный атрибут не был допустим.

    Доступный в OS X v10.7 и позже.

  • init векторный атрибут отсутствовал.

    Значение

    - 67751

    Описание

    init векторный атрибут отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Соленый атрибут не был допустим.

    Значение

    - 67752

    Описание

    Соленый атрибут не был допустим.

    Доступный в OS X v10.7 и позже.

  • Соленый атрибут отсутствовал.

    Значение

    - 67753

    Описание

    Соленый атрибут отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Дополнительный атрибут не был допустим.

    Значение

    - 67754

    Описание

    Дополнительный атрибут не был допустим.

    Доступный в OS X v10.7 и позже.

  • Дополнительный атрибут отсутствовал.

    Значение

    - 67755

    Описание

    Дополнительный атрибут отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут случайного числа не был допустим.

    Значение

    - 67756

    Описание

    Атрибут случайного числа не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут случайного числа отсутствовал.

    Значение

    - 67757

    Описание

    Атрибут случайного числа отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут семени не был допустим.

    Значение

    - 67758

    Описание

    Атрибут семени не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут семени отсутствовал.

    Значение

    - 67759

    Описание

    Атрибут семени отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут пароля не был допустим.

    Значение

    - 67760

    Описание

    Атрибут пароля не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут пароля отсутствовал.

    Значение

    - 67761

    Описание

    Атрибут пароля отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут длины ключа не был допустим.

    Значение

    - 67762

    Описание

    Атрибут длины ключа не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут длины ключа отсутствовал.

    Значение

    - 67763

    Описание

    Атрибут длины ключа отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут размера блока не был допустим.

    Значение

    - 67764

    Описание

    Атрибут размера блока не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут размера блока отсутствовал.

    Значение

    - 67765

    Описание

    Атрибут размера блока отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Выходной атрибут размера не был допустим.

    Значение

    - 67766

    Описание

    Выходной атрибут размера не был допустим.

    Доступный в OS X v10.7 и позже.

  • Выходной атрибут размера отсутствовал.

    Значение

    - 67767

    Описание

    Выходной атрибут размера отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Число атрибута раундов не было допустимо.

    Значение

    - 67768

    Описание

    Число атрибута раундов не было допустимо.

    Доступный в OS X v10.7 и позже.

  • Число атрибута раундов отсутствовало.

    Значение

    - 67769

    Описание

    Число атрибута раундов отсутствовало.

    Доступный в OS X v10.7 и позже.

  • Атрибут параметров алгоритма не был допустим.

    Значение

    - 67770

    Описание

    Атрибут параметров алгоритма не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут параметров алгоритма отсутствовал.

    Значение

    - 67771

    Описание

    Атрибут параметров алгоритма отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут метки не был допустим.

    Значение

    - 67772

    Описание

    Атрибут метки не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут метки отсутствовал.

    Значение

    - 67773

    Описание

    Атрибут метки отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Ключевой атрибут типа не был допустим.

    Значение

    - 67774

    Описание

    Ключевой атрибут типа не был допустим.

    Доступный в OS X v10.7 и позже.

  • Ключевой атрибут типа отсутствовал.

    Значение

    - 67775

    Описание

    Ключевой атрибут типа отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут режима не был допустим.

    Значение

    - 67776

    Описание

    Атрибут режима не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут режима отсутствовал.

    Значение

    - 67777

    Описание

    Атрибут режима отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут рабочих битов не был допустим.

    Значение

    - 67778

    Описание

    Атрибут рабочих битов не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут рабочих битов отсутствовал.

    Значение

    - 67779

    Описание

    Атрибут рабочих битов отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут даты начала не был допустим.

    Значение

    - 67780

    Описание

    Атрибут даты начала не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут даты начала отсутствовал.

    Значение

    - 67781

    Описание

    Атрибут даты начала отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут даты окончания не был допустим.

    Значение

    - 67782

    Описание

    Атрибут даты окончания не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут даты окончания отсутствовал.

    Значение

    - 67783

    Описание

    Атрибут даты окончания отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут версии не был допустим.

    Значение

    - 67784

    Описание

    Атрибут версии не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут версии отсутствовал.

    Значение

    - 67785

    Описание

    Атрибут версии отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Главный атрибут не был допустим.

    Значение

    - 67786

    Описание

    Главный атрибут не был допустим.

    Доступный в OS X v10.7 и позже.

  • Главный атрибут отсутствовал.

    Значение

    - 67787

    Описание

    Главный атрибут отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Основной атрибут не был допустим.

    Значение

    - 67788

    Описание

    Основной атрибут не был допустим.

    Доступный в OS X v10.7 и позже.

  • Основной атрибут отсутствовал.

    Значение

    - 67789

    Описание

    Основной атрибут отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Субстандартный атрибут не был допустим.

    Значение

    - 67790

    Описание

    Субстандартный атрибут не был допустим.

    Доступный в OS X v10.7 и позже.

  • Субстандартный атрибут отсутствовал.

    Значение

    - 67791

    Описание

    Субстандартный атрибут отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Итеративный атрибут количества не был допустим.

    Значение

    - 67792

    Описание

    Итеративный атрибут количества не был допустим.

    Доступный в OS X v10.7 и позже.

  • Итеративный атрибут количества отсутствовал.

    Значение

    - 67793

    Описание

    Итеративный атрибут количества отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут дескриптора базы данных не был допустим.

    Значение

    - 67794

    Описание

    Атрибут дескриптора базы данных не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут дескриптора базы данных отсутствовал.

    Значение

    - 67795

    Описание

    Атрибут дескриптора базы данных отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут учетных данных доступа не был допустим.

    Значение

    - 67796

    Описание

    Атрибут учетных данных доступа не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут учетных данных доступа отсутствовал.

    Значение

    - 67797

    Описание

    Атрибут учетных данных доступа отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут формата с открытым ключом не был допустим.

    Значение

    - 67798

    Описание

    Атрибут формата с открытым ключом не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут формата с открытым ключом отсутствовал.

    Значение

    - 67799

    Описание

    Атрибут формата с открытым ключом отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут формата с закрытым ключом не был допустим.

    Значение

    - 67800

    Описание

    Атрибут формата с закрытым ключом не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут формата с закрытым ключом отсутствовал.

    Значение

    - 67801

    Описание

    Атрибут формата с закрытым ключом отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Атрибут формата симметричного ключа не был допустим.

    Значение

    - 67802

    Описание

    Атрибут формата симметричного ключа не был допустим.

    Доступный в OS X v10.7 и позже.

  • Атрибут формата симметричного ключа отсутствовал.

    Значение

    - 67803

    Описание

    Атрибут формата симметричного ключа отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Обернутый атрибут формата ключа не был допустим.

    Значение

    - 67804

    Описание

    Обернутый атрибут формата ключа не был допустим.

    Доступный в OS X v10.7 и позже.

  • Обернутый атрибут формата ключа отсутствовал.

    Значение

    - 67805

    Описание

    Обернутый атрибут формата ключа отсутствовал.

    Доступный в OS X v10.7 и позже.

  • Подготовленная работа происходит.

    Значение

    - 67806

    Описание

    Подготовленная работа происходит.

    Доступный в OS X v10.7 и позже.

  • Подготовленная работа не была запущена.

    Значение

    - 67807

    Описание

    Подготовленная работа не была запущена.

    Доступный в OS X v10.7 и позже.

  • Произошел криптографический отказ проверки.

    Значение

    - 67808

    Описание

    Произошел криптографический отказ проверки.

    Доступный в OS X v10.7 и позже.

  • Размер запроса неизвестен.

    Значение

    - 67809

    Описание

    Размер запроса неизвестен.

    Доступный в OS X v10.7 и позже.

  • Несоответствие размера блока произошло.

    Значение

    - 67810

    Описание

    Несоответствие размера блока произошло.

    Доступный в OS X v10.7 и позже.

  • Открытый ключ был противоречив.

    Значение

    - 67811

    Описание

    Открытый ключ был противоречив.

    Доступный в OS X v10.7 и позже.

  • Отказ проверки устройства произошел.

    Значение

    - 67812

    Описание

    Отказ проверки устройства произошел.

    Доступный в OS X v10.7 и позже.

  • Было обнаружено недопустимое имя для входа в систему.

    Значение

    - 67813

    Описание

    Было обнаружено недопустимое имя для входа в систему.

    Доступный в OS X v10.7 и позже.

  • Пользователь уже зарегистрирован.

    Значение

    - 67814

    Описание

    Пользователь уже зарегистрирован.

    Доступный в OS X v10.7 и позже.

  • Был обнаружен недопустимый алгоритм выборки сообщений.

    Значение

    - 67815

    Описание

    Был обнаружен недопустимый алгоритм выборки сообщений.

    Доступный в OS X v10.7 и позже.

  • Была обнаружена недопустимая группа CRL.

    Значение

    - 67816

    Описание

    Была обнаружена недопустимая группа CRL.

    Доступный в OS X v10.7 и позже.

  • Сертификат не может работать.

    Значение

    - 67817

    Описание

    Сертификат не может работать.

    Доступный в OS X v10.7 и позже.

  • Сертификат с истекшим сроком был обнаружен.

    Значение

    - 67818

    Описание

    Сертификат с истекшим сроком был обнаружен.

    Доступный в OS X v10.7 и позже.

  • Сертификат еще не допустим.

    Значение

    - 67819

    Описание

    Сертификат еще не допустим.

    Доступный в OS X v10.7 и позже.

  • Сертификат отменялся.

    Значение

    - 67820

    Описание

    Сертификат отменялся.

    Доступный в OS X v10.7 и позже.

  • Сертификат был приостановлен.

    Значение

    - 67821

    Описание

    Сертификат был приостановлен.

    Доступный в OS X v10.7 и позже.

  • Были обнаружены недостаточные учетные данные.

    Значение

    - 67822

    Описание

    Были обнаружены недостаточные учетные данные.

    Доступный в OS X v10.7 и позже.

  • Действие не было допустимо.

    Значение

    - 67823

    Описание

    Действие не было допустимо.

    Доступный в OS X v10.7 и позже.

  • Полномочия не были допустимы.

    Значение

    - 67824

    Описание

    Полномочия не были допустимы.

    Доступный в OS X v10.7 и позже.

  • Проверять действие перестало работать.

    Значение

    - 67825

    Описание

    Проверять действие перестало работать.

    Доступный в OS X v10.7 и позже.

  • Центр сертификации не был допустим.

    Значение

    - 67826

    Описание

    Центр сертификации не был допустим.

    Доступный в OS X v10.7 и позже.

  • Полномочия CRL не были допустимы.

    Значение

    - 67827

    Описание

    Полномочия CRL не были допустимы.

    Доступный в OS X v10.7 и позже.

  • Кодирование CRL не было допустимо.

    Значение

    - 67828

    Описание

    Кодирование CRL не было допустимо.

    Доступный в OS X v10.7 и позже.

  • Тип CRL не был допустим.

    Значение

    - 67829

    Описание

    Тип CRL не был допустим.

    Доступный в OS X v10.7 и позже.

  • CRL не был допустим.

    Значение

    - 67830

    Описание

    CRL не был допустим.

    Доступный в OS X v10.7 и позже.

  • Тип формы не был допустим.

    Значение

    - 67831

    Описание

    Тип формы не был допустим.

    Доступный в OS X v10.7 и позже.

  • ID не был допустим.

    Значение

    - 67832

    Описание

    ID не был допустим.

    Доступный в OS X v10.7 и позже.

  • Идентификатор не был допустим.

    Значение

    - 67833

    Описание

    Идентификатор не был допустим.

    Доступный в OS X v10.7 и позже.

  • Индекс не был допустим.

    Значение

    - 67834

    Описание

    Индекс не был допустим.

    Доступный в OS X v10.7 и позже.

  • Идентификаторы политики не допустимы.

    Значение

    - 67835

    Описание

    Идентификаторы политики не допустимы.

    Доступный в OS X v10.7 и позже.

  • Указанное время не было допустимо.

    Значение

    - 67836

    Описание

    Указанное время не было допустимо.

    Доступный в OS X v10.7 и позже.

  • Доверительная причина политики не была допустима.

    Значение

    - 67837

    Описание

    Доверительная причина политики не была допустима.

    Доступный в OS X v10.7 и позже.

  • Вводы запроса не допустимы.

    Значение

    - 67838

    Описание

    Вводы запроса не допустимы.

    Доступный в OS X v10.7 и позже.

  • Вектор отклика не был допустим.

    Значение

    - 67839

    Описание

    Вектор отклика не был допустим.

    Доступный в OS X v10.7 и позже.

  • Остановка - на политике не была допустима.

    Значение

    - 67840

    Описание

    Остановка - на политике не была допустима.

    Доступный в OS X v10.7 и позже.

  • Кортеж не был допустим.

    Значение

    - 67841

    Описание

    Кортеж не был допустим.

    Доступный в OS X v10.7 и позже.

  • Многократные значения не поддерживаются.

    Значение

    - 67842

    Описание

    Многократные значения не поддерживаются.

    Доступный в OS X v10.7 и позже.

  • Доверительной политике не доверяли.

    Значение

    - 67843

    Описание

    Доверительной политике не доверяли.

    Доступный в OS X v10.7 и позже.

  • Никакие полномочия по умолчанию не были обнаружены.

    Значение

    - 67844

    Описание

    Никакие полномочия по умолчанию не были обнаружены.

    Доступный в OS X v10.7 и позже.

  • Доверительная политика имела отклоненную форму.

    Значение

    - 67845

    Описание

    Доверительная политика имела отклоненную форму.

    Доступный в OS X v10.7 и позже.

  • Запрос был потерян.

    Значение

    - 67846

    Описание

    Запрос был потерян.

    Доступный в OS X v10.7 и позже.

  • Запрос был отклонен.

    Значение

    - 67847

    Описание

    Запрос был отклонен.

    Доступный в OS X v10.7 и позже.

  • Тип адреса не поддерживается.

    Значение

    - 67848

    Описание

    Тип адреса не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Служба не поддерживается.

    Значение

    - 67849

    Описание

    Служба не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Группа кортежа не была допустима.

    Значение

    - 67850

    Описание

    Группа кортежа не была допустима.

    Доступный в OS X v10.7 и позже.

  • Основные ACLs не допустимы.

    Значение

    - 67851

    Описание

    Основные ACLs не допустимы.

    Доступный в OS X v10.7 и позже.

  • Учетные данные кортежа не допустимы.

    Значение

    - 67852

    Описание

    Учетные данные кортежа не допустимы.

    Доступный в OS X v10.7 и позже.

  • Кодирование не было допустимо.

    Значение

    - 67853

    Описание

    Кодирование не было допустимо.

    Доступный в OS X v10.7 и позже.

  • Срок действия не был допустим.

    Значение

    - 67854

    Описание

    Срок действия не был допустим.

    Доступный в OS X v10.7 и позже.

  • Проситель не был допустим.

    Значение

    - 67855

    Описание

    Проситель не был допустим.

    Доступный в OS X v10.7 и позже.

  • Дескриптор запроса не был допустим.

    Значение

    - 67856

    Описание

    Дескриптор запроса не был допустим.

    Доступный в OS X v10.7 и позже.

  • Информация о пакете не была допустима.

    Значение

    - 67857

    Описание

    Информация о пакете не была допустима.

    Доступный в OS X v10.7 и позже.

  • Индекс CRL не был допустим.

    Значение

    - 67858

    Описание

    Индекс CRL не был допустим.

    Доступный в OS X v10.7 и позже.

  • Никакие значения полей не были обнаружены.

    Значение

    - 67859

    Описание

    Никакие значения полей не были обнаружены.

    Доступный в OS X v10.7 и позже.

  • Формат поля не поддерживается.

    Значение

    - 67860

    Описание

    Формат поля не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Информация об индексе не поддерживается.

    Значение

    - 67861

    Описание

    Информация об индексе не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Местность не поддерживается.

    Значение

    - 67862

    Описание

    Местность не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Число атрибутов не поддерживается.

    Значение

    - 67863

    Описание

    Число атрибутов не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Число индексов не поддерживается.

    Значение

    - 67864

    Описание

    Число индексов не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Число типов записи не поддерживается.

    Значение

    - 67865

    Описание

    Число типов записи не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Были указаны слишком много полей.

    Значение

    - 67866

    Описание

    Были указаны слишком много полей.

    Доступный в OS X v10.7 и позже.

  • Формат поля был несовместимым.

    Значение

    - 67867

    Описание

    Формат поля был несовместимым.

    Доступный в OS X v10.7 и позже.

  • Модуль парсинга не был допустим.

    Значение

    - 67868

    Описание

    Модуль парсинга не был допустим.

    Доступный в OS X v10.7 и позже.

  • База данных заблокирована.

    Значение

    - 67869

    Описание

    База данных заблокирована.

    Доступный в OS X v10.7 и позже.

  • Хранилище данных открыто.

    Значение

    - 67870

    Описание

    Хранилище данных открыто.

    Доступный в OS X v10.7 и позже.

  • Отсутствующее значение было обнаружено.

    Значение

    - 67871

    Описание

    Отсутствующее значение было обнаружено.

    Доступный в OS X v10.7 и позже.

  • Пределы запроса не поддерживаются.

    Значение

    - 67872

    Описание

    Пределы запроса не поддерживаются.

    Доступный в OS X v10.7 и позже.

  • Число предикатов выбора не поддерживается.

    Значение

    - 67873

    Описание

    Число предикатов выбора не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Оператор не поддерживается.

    Значение

    - 67874

    Описание

    Оператор не поддерживается.

    Доступный в OS X v10.7 и позже.

  • Расположение базы данных не допустимо.

    Значение

    - 67875

    Описание

    Расположение базы данных не допустимо.

    Доступный в OS X v10.7 и позже.

  • Запрос доступа не допустим.

    Значение

    - 67876

    Описание

    Запрос доступа не допустим.

    Доступный в OS X v10.7 и позже.

  • Информация об индексе не допустима.

    Значение

    - 67877

    Описание

    Информация об индексе не допустима.

    Доступный в OS X v10.7 и позже.

  • Новый владелец не допустим.

    Значение

    - 67878

    Описание

    Новый владелец не допустим.

    Доступный в OS X v10.7 и позже.

  • Изменить режим не допустим.

    Значение

    - 67879

    Описание

    Изменить режим не допустим.

    Доступный в OS X v10.7 и позже.

  • Требуемое расширение сертификата отсутствует.

    Значение

    - 67880

    Описание

    Требуемое расширение сертификата отсутствует.

    Доступный в OS X v10.7 и позже.

  • Расширенное ключевое расширение использования не было отмечено критически важное.

    Значение

    - 67881

    Описание

    Расширенное ключевое расширение использования не было отмечено критически важное.

    Доступный в OS X v10.7 и позже.

  • Метка времени ожидалась, но не была найдена.

    Значение

    - 67882

    Описание

    Метка времени ожидалась, но не была найдена.

    Доступный в OS X v10.7 и позже.

  • Метка времени не была допустима.

    Значение

    - 67883

    Описание

    Метка времени не была допустима.

    Доступный в OS X v10.7 и позже.

  • Метке времени не доверяли.

    Значение

    - 67884

    Описание

    Метке времени не доверяли.

    Доступный в OS X v10.7 и позже.

  • Служба метки времени не доступна.

    Значение

    - 67885

    Описание

    Служба метки времени не доступна.

    Доступный в OS X v10.7 и позже.

  • Найденный нераспознанным или неподдерживаемым идентификатором алгоритма (AI) в метке времени.

    Значение

    - 67886

    Описание

    Найденный нераспознанным или неподдерживаемым идентификатором алгоритма (AI) в метке времени.

    Доступный в OS X v10.7 и позже.

  • Транзакция метки времени не разрешается или поддерживается.

    Значение

    - 67887

    Описание

    Транзакция метки времени не разрешается или поддерживается.

    Доступный в OS X v10.7 и позже.

  • Представленные данные метки времени имеют неправильный формат.

    Значение

    - 67888

    Описание

    Представленные данные метки времени имеют неправильный формат.

    Доступный в OS X v10.7 и позже.

  • Источник времени для полномочий метки времени не доступен.

    Значение

    - 67889

    Описание

    Источник времени для полномочий метки времени не доступен.

    Доступный в OS X v10.7 и позже.

  • Требуемая политика не поддерживается полномочиями метки времени.

    Значение

    - 67890

    Описание

    Требуемая политика не поддерживается полномочиями метки времени.

    Доступный в OS X v10.7 и позже.

  • Требуемое расширение не поддерживается полномочиями метки времени.

    Значение

    - 67891

    Описание

    Требуемое расширение не поддерживается полномочиями метки времени.

    Доступный в OS X v10.7 и позже.

  • Запрошенная дополнительная информация не доступна.

    Значение

    - 67892

    Описание

    Запрошенная дополнительная информация не доступна.

    Доступный в OS X v10.7 и позже.

  • Запрос метки времени не может быть обработан вследствие системного отказа.

    Значение

    - 67893

    Описание

    Запрос метки времени не может быть обработан вследствие системного отказа.

    Доступный в OS X v10.7 и позже.

  • Время подписания ожидалось, но не было найдено.

    Значение

    - 67894

    Описание

    Время подписания ожидалось, но не было найдено.

    Доступный в OS X v10.7 и позже.

  • Транзакция метки времени была отклонена.

    Значение

    - 67895

    Описание

    Транзакция метки времени была отклонена.

    Доступный в OS X v10.7 и позже.

  • Транзакция метки времени ожидает.

    Значение

    - 67896

    Описание

    Транзакция метки времени ожидает.

    Доступный в OS X v10.7 и позже.

  • Аннулирование полномочий метки времени, предупреждающее, было выпущено.

    Значение

    - 67897

    Описание

    Аннулирование полномочий метки времени, предупреждающее, было выпущено.

    Доступный в OS X v10.7 и позже.

  • Уведомление аннулирования полномочий метки времени было выпущено.

    Значение

    - 67898

    Описание

    Уведомление аннулирования полномочий метки времени было выпущено.

    Доступный в OS X v10.7 и позже.