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

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

Разработчик

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

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

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

Сертификат, ключ и доверительная ссылка служб

Сертификат, Ключ и Trust Services обеспечивают API C для управления сертификатами, открытыми и закрытыми ключами и доверительными политиками. Можно использовать эти службы в приложении к:

  • Определите идентификационные данные путем соответствия сертификата закрытому ключу

  • Создайте и запросите объекты сертификата

  • Сертификаты импорта, ключи и идентификационные данные

  • Создайте пар общедоступных с закрытым ключом

  • Представляйте доверительные политики

Соображения параллелизма

На iOS все функции в этом API ориентированы на многопотоковое исполнение и повторно используемы.

На OS X v10.6, некоторые функции могут блокировать при ожидании ввода от пользователя (например, когда пользователя просят разблокировать цепочку для ключей или дать разрешение изменить доверительные настройки). В целом безопасно использовать функции в этом API от потоков кроме Вашего основного потока, но необходимо избежать вызывать функцию от многократных операций, рабочих списков или потоков одновременно. Вместо этого вызовы функции должны быть сериализированы (или ограничены единственным потоком) предотвратить любые потенциальные проблемы. Исключения отмечены в обсуждениях соответствующих функций.

Функции

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

    Объявление

    Swift

    func SecCertificateGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecCertificateGetTypeID ( void );

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecIdentityGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecIdentityGetTypeID ( void );

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    CFTypeID SecIdentitySearchGetTypeID ( void );

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Доступность

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

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

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

    Объявление

    Swift

    func SecKeyGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecKeyGetTypeID ( void );

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecPolicyGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecPolicyGetTypeID ( void );

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    CFTypeID SecPolicySearchGetTypeID ( void );

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Доступность

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

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

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

    Объявление

    Swift

    func SecTrustGetTypeID() -> CFTypeID

    Objective C

    CFTypeID SecTrustGetTypeID ( void );

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecCertificateAddToKeychain(_ certificate: SecCertificate!, _ keychain: SecKeychain!) -> OSStatus

    Objective C

    OSStatus SecCertificateAddToKeychain ( SecCertificateRef certificate, SecKeychainRef keychain );

    Параметры

    certificate

    Объект сертификата для сертификата для добавления к цепочке для ключей.

    keychain

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Эта функция требует объекта сертификата, который может, например, быть создан с SecCertificateCreateFromData функционируйте или полученный по сети (см. Безопасную Транспортную Ссылку). Если сертификат был уже добавлен к указанной цепочке для ключей, функциональным возвратам errSecDuplicateItem и не добавляет другую копию к цепочке для ключей. Функция смотрит на данные сертификата, не в объекте сертификата, чтобы определить, является ли сертификат копией. Это полагает, что два сертификата копии, если у них есть те же атрибуты первичного ключа.

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Создает сертификат, основанный на объектах на указанных данных, введите, и кодирование.

    Объявление

    Objective C

    OSStatus SecCertificateCreateFromData ( const CSSM_DATA *data, CSSM_CERT_TYPE type, CSSM_CERT_ENCODING encoding, SecCertificateRef *certificate );

    Параметры

    data

    Указатель на данные сертификата. Данные должны быть сертификатом X509 в двоичном формате.

    type

    Тип сертификата, как определено в Security.framework/cssmtype.h. Допустимые значения CSSM_CERT_X_509v1, CSSM_CERT_X_509v2, и CSSM_CERT_X_509v3. Если Вы не уверены в типе сертификата, использовать CSSM_CERT_X_509v3.

    encoding

    Сертификат, кодирующий, как определено в Security.framework/cssmtype.h. Допустимые значения CSSM_CERT_ENCODING_BER и CSSM_CERT_ENCODING_DER. Если Вы не уверены в кодировании, использовать CSSM_CERT_ENCODING_BER.

    certificate

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Доступность

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

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

  • Создает объект сертификата из представления DER сертификата.

    Объявление

    Swift

    func SecCertificateCreateWithData(_ allocator: CFAllocator!, _ data: CFData!) -> Unmanaged<SecCertificate>!

    Objective C

    SecCertificateRef SecCertificateCreateWithData ( CFAllocatorRef allocator, CFDataRef data );

    Параметры

    allocator

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

    data

    DER (Выдающиеся Правила кодирования) представление сертификата X.509.

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

    Недавно создаваемый объект сертификата. Вызовите CFRelease функционируйте для выпуска этого объекта, когда Вы будете закончены с ним. Возвраты NULL если данные передали в data параметр не является допустимым закодированным DER сертификатом X.509.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecCertificateCopyData

  • Возвращает представление DER сертификата, данного объект сертификата.

    Объявление

    Swift

    func SecCertificateCopyData(_ certificate: SecCertificate!) -> Unmanaged<CFData>!

    Objective C

    CFDataRef SecCertificateCopyData ( SecCertificateRef certificate );

    Параметры

    certificate

    Объект сертификата, для которого Вы хотите возвратить DER (Выдающиеся Правила кодирования) представление сертификата X.509.

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecCertificateCreateWithData

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

    Объявление

    Swift

    func SecCertificateCopyCommonName(_ certificate: SecCertificate!, _ commonName: UnsafeMutablePointer<Unmanaged<CFString>?>) -> OSStatus

    Objective C

    OSStatus SecCertificateCopyCommonName ( SecCertificateRef certificate, CFStringRef *commonName );

    Параметры

    certificate

    Объект сертификата, от которого можно получить общее название.

    commonName

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecCertificateCopyEmailAddresses(_ certificate: SecCertificate!, _ emailAddresses: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecCertificateCopyEmailAddresses ( SecCertificateRef certificate, CFArrayRef *emailAddresses );

    Параметры

    certificate

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

    emailAddresses

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает копию длинного описания сертификата.

    Объявление

    Swift

    func SecCertificateCopyLongDescription(_ alloc: CFAllocator!, _ certificate: SecCertificate!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFString>!

    Objective C

    CFStringRef SecCertificateCopyLongDescription ( CFAllocatorRef alloc, SecCertificateRef certificate, CFErrorRef *error );

    Параметры

    alloc

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

    certificate

    Сертификат, с которого должно быть скопировано длинное описание.

    error

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

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

    Возвраты a CFStringRef объект, содержащий длинное описание, или NULL если произошла ошибка.

    Обсуждение

    Формат этой строки, как гарантируют, не будет непротиворечивым через различные операционные системы или версии. Не пытайтесь проанализировать его программно.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает нормализованную копию отличительного имени (DN) эмитента сертификата.

    Объявление

    Swift

    func SecCertificateCopyNormalizedIssuerContent(_ certificate: SecCertificate!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFData>!

    Objective C

    CFDataRef SecCertificateCopyNormalizedIssuerContent ( SecCertificateRef certificate, CFErrorRef *error );

    Параметры

    certificate

    Сертификат, с которого должно быть скопировано отличительное имя эмитента.

    error

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

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

    Возвраты a CFDataRef объект, содержащий закодированное DER отличительное имя X.509, подходящее для использования с SecItemCopyMatching. Возвраты NULL если произошла ошибка.

    Обсуждение

    Для получения копии отличительного имени эмитента в формате, подходящем в целях дисплея, вызвать SecCertificateCopyValues вместо этого.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает нормализованную копию отличительного имени (DN) предмета сертификата.

    Объявление

    Swift

    func SecCertificateCopyNormalizedSubjectContent(_ certificate: SecCertificate!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFData>!

    Objective C

    CFDataRef SecCertificateCopyNormalizedSubjectContent ( SecCertificateRef certificate, CFErrorRef *error );

    Параметры

    certificate

    Сертификат, с которого должно быть скопировано отличительное имя предмета.

    error

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

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

    Возвраты a CFDataRef объект, содержащий закодированное DER отличительное имя X.509, подходящее для использования с SecItemCopyMatching. Возвраты NULL если произошла ошибка.

    Обсуждение

    Для получения копии отличительного имени предмета в формате, подходящем в целях дисплея, вызвать SecCertificateCopyValues вместо этого.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    OSStatus SecCertificateCopyPreference ( CFStringRef name, uint32 keyUsage, SecCertificateRef *certificate );

    Параметры

    name

    Строка, содержащая адрес электронной почты (RFC822) или другое имя, на которое требуют предпочтительный сертификат.

    keyUsage

    Ключевое значение использования, как определено в Security.framework/cssmtype.h. Передача 0 проигнорировать этот параметр.

    certificate

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Эта функция обычно используется для получения предпочтительного сертификата шифрования для почтового получателя.

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

    Использовать SecCertificateCopyPreferred для новой разработки вместо этого.

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

    Objective C

    @import Security;

    Доступность

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

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

    См. также

    SecCertificateSetPreference

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

    Объявление

    Swift

    func SecCertificateCopyPreferred(_ name: CFString!, _ keyUsage: CFArray!) -> Unmanaged<SecCertificate>!

    Objective C

    SecCertificateRef SecCertificateCopyPreferred ( CFStringRef name, CFArrayRef keyUsage );

    Параметры

    name

    Строка, содержащая адрес электронной почты (RFC 822) или другое имя, на которое требуют предпочтительный сертификат.

    keyUsage

    Массив, содержащий список атрибутов использования (kSecAttrCanEncrypt, например), или NULL если Вы не хотите запрашивать сертификат на основе определенного использования. Посмотрите Attribute Item Keys для полного списка возможных атрибутов использования.

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecCertificateSetPreferred

  • Получает открытый ключ из сертификата.

    Объявление

    Swift

    func SecCertificateCopyPublicKey(_ certificate: SecCertificate!, _ key: UnsafeMutablePointer<Unmanaged<SecKey>?>) -> OSStatus

    Objective C

    OSStatus SecCertificateCopyPublicKey ( SecCertificateRef certificate, SecKeyRef *key );

    Параметры

    certificate

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

    key

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает копию порядкового номера сертификата.

    Объявление

    Swift

    func SecCertificateCopySerialNumber(_ certificate: SecCertificate!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFData>!

    Objective C

    CFDataRef SecCertificateCopySerialNumber ( SecCertificateRef certificate, CFErrorRef *error );

    Параметры

    certificate

    Сертификат, с которого должен быть скопирован порядковый номер.

    error

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

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает копию краткого описания сертификата.

    Объявление

    Swift

    func SecCertificateCopyShortDescription(_ alloc: CFAllocator!, _ certificate: SecCertificate!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFString>!

    Objective C

    CFStringRef SecCertificateCopyShortDescription ( CFAllocatorRef alloc, SecCertificateRef certificate, CFErrorRef *error );

    Параметры

    alloc

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

    certificate

    Сертификат, с которого должно быть скопировано краткое описание.

    error

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

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

    Возвраты a CFStringRef объект, содержащий краткое описание, или NULL если произошла ошибка.

    Обсуждение

    Формат этой строки, как гарантируют, не будет непротиворечивым через различные операционные системы или версии. Не пытайтесь проанализировать его программно.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает человекочитаемую сводку сертификата.

    Объявление

    Swift

    func SecCertificateCopySubjectSummary(_ certificate: SecCertificate!) -> Unmanaged<CFString>!

    Objective C

    CFStringRef SecCertificateCopySubjectSummary ( SecCertificateRef certificate );

    Параметры

    certificate

    Объект сертификата, для которого Вы хотите возвратить сводную строку.

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecCertificateCreateWithData

  • Создает словарь, представляющий содержание сертификата.

    Объявление

    Swift

    func SecCertificateCopyValues(_ certificate: SecCertificate!, _ keys: CFArray!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFDictionary>!

    Objective C

    CFDictionaryRef SecCertificateCopyValues ( SecCertificateRef certificate, CFArrayRef keys, CFErrorRef *error );

    Параметры

    certificate

    Сертификат, с которого должны быть скопированы значения.

    keys

    Массив строки значения OID, или NULL. Если не -NULL, эти значения OID определяют который значения от сертификата до возврата. Если NULL, все значения возвращаются.

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

    error

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

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

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

    Каждая запись в этом словаре является самостоятельно словарем с ключами, описанными в Ключах Свойства SecCertificateCopyValues (kSecPropertyKeyType, например).

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает идентификатор алгоритма для сертификата.

    Объявление

    Objective C

    OSStatus SecCertificateGetAlgorithmID ( SecCertificateRef certificate, const CSSM_X509_ALGORITHM_IDENTIFIER **algid );

    Параметры

    certificate

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

    algid

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    CSSM_X509_ALGORITHM_IDENTIFIER структура определяется в Security.framework/x509defs.h и обсудил в Коллективной безопасности: CDSA и CSSM, версия 2 (с исправлениями) от Open Group (http://www .opengroup.org/security/cdsa.htm). Возможные алгоритмы перечисляются в Security.framework/oidsalg.h.

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

    Objective C

    @import Security;

    Доступность

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

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

  • Получает дескриптор библиотеки сертификата от объекта сертификата.

    Объявление

    Objective C

    OSStatus SecCertificateGetCLHandle ( SecCertificateRef certificate, CSSM_CL_HANDLE *clHandle );

    Параметры

    certificate

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

    clHandle

    По возврату, точкам к дескриптору библиотеки сертификата указанного сертификата. Этот дескриптор остается допустимым, пока не выпущен объект сертификата.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Доступность

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

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

  • Получает данные для сертификата.

    Объявление

    Objective C

    OSStatus SecCertificateGetData ( SecCertificateRef certificate, CSSM_DATA_PTR data );

    Параметры

    certificate

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

    data

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Эта функция требует объекта сертификата, который может, например, быть создан с SecCertificateCreateFromData функция, полученная из идентификационных данных с SecIdentityCopyCertificate функция, или полученный по сети (см. Безопасную Транспортную Ссылку).

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

    Objective C

    @import Security;

    Доступность

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

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

  • Неподдерживаемый.

    Объявление

    Objective C

    OSStatus SecCertificateGetIssuer ( SecCertificateRef certificate, const CSSM_X509_NAME **issuer );

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

    Objective C

    @import Security;

    Доступность

    Неподдерживаемый.

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

  • Неподдерживаемый.

    Объявление

    Objective C

    OSStatus SecCertificateGetItem ( SecCertificateRef certificate, SecKeychainItemRef *item );

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

    Objective C

    @import Security;

    Доступность

    Неподдерживаемый.

    Не доступный 64-разрядным приложениям.

  • Неподдерживаемый.

    Объявление

    Objective C

    OSStatus SecCertificateGetSubject ( SecCertificateRef certificate, const CSSM_X509_NAME **subject );

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

    Objective C

    @import Security;

    Доступность

    Неподдерживаемый.

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

  • Получает тип указанного сертификата.

    Объявление

    Objective C

    OSStatus SecCertificateGetType ( SecCertificateRef certificate, CSSM_CERT_TYPE *certificateType );

    Параметры

    certificate

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

    certificateType

    По возврату, точкам к типу указанного сертификата. Типы сертификата определяются в Security.framework/cssmtype.h. Необходимо выделить площадь для a CSSM_CERT_TYPE структура прежде, чем вызвать эту функцию.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Доступность

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

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

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

    Объявление

    Swift

    func SecCertificateSetPreference(_ certificate: SecCertificate!, _ name: CFString!, _ keyUsage: uint32, _ date: CFDate!) -> OSStatus

    Objective C

    OSStatus SecCertificateSetPreference ( SecCertificateRef certificate, CFStringRef name, uint32 keyUsage, CFDateRef date );

    Параметры

    certificate

    Объект сертификата идентификация предпочтительного сертификата.

    name

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

    keyUsage

    Ключевое значение использования, как определено в Security.framework/cssmtype.h. Передача 0 если Вы не хотите указывать определенное ключевое использование.

    date

    Дата, после которой это предпочтение больше не действительно. Если предоставлено, предпочтительный сертификат изменяется, только если эта дата позже, чем в настоящее время сохраняемая настройка. Передача NULL если это предпочтение не должно быть ограничено по дате.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Использовать SecCertificateSetPreferred для новой разработки вместо этого.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecCertificateCopyPreference

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

    Объявление

    Swift

    func SecCertificateSetPreferred(_ certificate: SecCertificate!, _ name: CFString!, _ keyUsage: CFArray!) -> OSStatus

    Objective C

    OSStatus SecCertificateSetPreferred ( SecCertificateRef certificate, CFStringRef name, CFArrayRef keyUsage );

    Параметры

    certificate

    Ключ для использования в качестве предпочтительного сертификата для указанного имени и ключевого использования.

    name

    Строка, содержащая адрес электронной почты (RFC 822) или другое имя, на которое требуют предпочтительный сертификат.

    keyUsage

    Массив, содержащий список атрибутов использования (kSecAttrCanEncrypt, например), или NULL если Вы хотите, чтобы этот сертификат был предпочтен для какого-либо использования. Посмотрите Attribute Item Keys для полного списка возможных атрибутов использования.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecCertificateCopyPreferred

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

    Объявление

    Swift

    func SecIdentityCopyCertificate(_ identityRef: SecIdentity!, _ certificateRef: UnsafeMutablePointer<Unmanaged<SecCertificate>?>) -> OSStatus

    Objective C

    OSStatus SecIdentityCopyCertificate ( SecIdentityRef identityRef, SecCertificateRef *certificateRef );

    Параметры

    identityRef

    Объект идентификационных данных для идентификационных данных, сертификат которых Вы хотите получить.

    certificateRef

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Идентификационные данные являются цифровым сертификатом вместе с его связанным закрытым ключом.

    Для сертификата в цепочке для ключей можно бросить SecCertificateRef тип данных к a SecKeychainItemRef для использования с функциями Keychain Services.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    OSStatus SecIdentityCopyPreference ( CFStringRef name, CSSM_KEYUSE keyUsage, CFArrayRef validIssuers, SecIdentityRef *identity );

    Параметры

    name

    Строка, содержащая URI, адрес электронной почты RFC822, имя хоста DNS или другое имя, однозначно определяющее службу, требующую идентификационных данных.

    keyUsage

    Ключевое значение использования, как определено в Security.framework/cssmtype.h. Передача 0 если Вы не хотите указывать определенное ключевое использование.

    validIssuers

    Массив CFDataRef экземпляры, содержание которых является подчиненными именами допустимых эмитентов, как возвращено вызовом к SSLCopyDistinguishedNames (Security.framework/SecureTransport.h). Передача NULL если Вы не хотите ограничивать поиск определенными эмитентами.

    identity

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Использовать SecIdentityCopyPreferred для новой разработки вместо этого.

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

    Objective C

    @import Security;

    Доступность

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

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

    См. также

    SecIdentitySetPreference

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

    Объявление

    Swift

    func SecIdentityCopyPreferred(_ name: CFString!, _ keyUsage: CFArray!, _ validIssuers: CFArray!) -> Unmanaged<SecIdentity>!

    Objective C

    SecIdentityRef SecIdentityCopyPreferred ( CFStringRef name, CFArrayRef keyUsage, CFArrayRef validIssuers );

    Параметры

    name

    Строка, содержащая адрес электронной почты (RFC 822) или другое имя, на которое требуют предпочтительные идентификационные данные.

    keyUsage

    Массив, содержащий список атрибутов использования (kSecAttrCanEncrypt, например), или NULL если Вы не хотите запрашивать идентификационные данные на определенное использование. Посмотрите Attribute Item Keys для полного списка возможных атрибутов использования.

    validIssuers

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

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecIdentitySetPreferred

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

    Объявление

    Swift

    func SecIdentityCopyPrivateKey(_ identityRef: SecIdentity!, _ privateKeyRef: UnsafeMutablePointer<Unmanaged<SecKey>?>) -> OSStatus

    Objective C

    OSStatus SecIdentityCopyPrivateKey ( SecIdentityRef identityRef, SecKeyRef *privateKeyRef );

    Параметры

    identityRef

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

    privateKeyRef

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Идентификационные данные являются цифровым сертификатом вместе с его связанным закрытым ключом.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает идентификационные данные в масштабе всей системы, связанные с указанным доменом.

    Объявление

    Swift

    func SecIdentityCopySystemIdentity(_ domain: CFString!, _ idRef: UnsafeMutablePointer<Unmanaged<SecIdentity>?>, _ actualDomain: UnsafeMutablePointer<Unmanaged<CFString>?>) -> OSStatus

    Objective C

    OSStatus SecIdentityCopySystemIdentity ( CFStringRef domain, SecIdentityRef *idRef, CFStringRef *actualDomain );

    Параметры

    domain

    Домен, для которого Вы хотите найти идентификационные данные, обычно в обратной нотации DNS, такой как com.apple.security. Можно также передать значения, определенные в Системных Доменах Идентификационных данных.

    idRef

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

    actualDomain

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecIdentitySetSystemIdentity

  • Создает новые идентификационные данные для сертификата и его связанного закрытого ключа.

    Объявление

    Swift

    func SecIdentityCreateWithCertificate(_ keychainOrArray: AnyObject!, _ certificateRef: SecCertificate!, _ identityRef: UnsafeMutablePointer<Unmanaged<SecIdentity>?>) -> OSStatus

    Objective C

    OSStatus SecIdentityCreateWithCertificate ( CFTypeRef keychainOrArray, SecCertificateRef certificateRef, SecIdentityRef *identityRef );

    Параметры

    keychainOrArray

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

    certificateRef

    Сертификат, для которого Вы хотите создать идентификационные данные.

    identityRef

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Находит следующие идентификационные данные, соответствующие указанные критерии поиска

    Объявление

    Objective C

    OSStatus SecIdentitySearchCopyNext ( SecIdentitySearchRef searchRef, SecIdentityRef *identity );

    Параметры

    searchRef

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

    identity

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

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

    Код результата. Когда больше нет идентификационных данных, соответствующих параметры, указанные к SecIdentitySearchCreate, errSecItemNotFound возвращается. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Доступность

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

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

  • Создает поисковый объект для нахождения идентификационных данных.

    Объявление

    Objective C

    OSStatus SecIdentitySearchCreate ( CFTypeRef keychainOrArray, CSSM_KEYUSE keyUsage, SecIdentitySearchRef *searchRef );

    Параметры

    keychainOrArray

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

    keyUsage

    Ключ CSSM использует значение, как определено в Security.framework/cssmtype.h. (Обратите внимание на то, что, потому что ключевое восстановление не реализовано, SIGN_RECOVER и VERIFY_RECOVER константы не поддерживаются.) Используют этот параметр для фильтрации поиска путем указания ключевого использования для идентификационных данных. Передача 0 если Вы хотите все идентификационные данные, возвращенные этим поиском. Передача CSSM_KEYUSE_ANY ограничить идентификационные данные возвратилось к тем, которые могут использоваться для каждой работы.

    searchRef

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Доступность

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

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

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

    Объявление

    Objective C

    OSStatus SecIdentitySetPreference ( SecIdentityRef identity, CFStringRef name, CSSM_KEYUSE keyUsage );

    Параметры

    identity

    Ссылка на предпочтительные идентификационные данные.

    name

    Строка, содержащая URI, адрес электронной почты RFC822, имя хоста DNS или другое имя, однозначно определяющее службу, требующую этих идентификационных данных.

    keyUsage

    Ключевое значение использования, как определено в Security.framework/cssmtype.h. Передача 0 если Вы не хотите указывать определенное ключевое использование.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Использовать SecIdentitySetPreferred для новой разработки вместо этого.

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

    Objective C

    @import Security;

    Доступность

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

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

    См. также

    SecIdentityCopyPreference

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

    Объявление

    Swift

    func SecIdentitySetPreferred(_ identity: SecIdentity!, _ name: CFString!, _ keyUsage: CFArray!) -> OSStatus

    Objective C

    OSStatus SecIdentitySetPreferred ( SecIdentityRef identity, CFStringRef name, CFArrayRef keyUsage );

    Параметры

    identity

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

    name

    Строка, содержащая адрес электронной почты (RFC 822) или другое имя, на которое требуют предпочтительный сертификат.

    keyUsage

    Массив, содержащий список атрибутов использования (kSecAttrCanEncrypt, например), или NULL если Вы хотите, чтобы эти идентификационные данные были предпочтены для какого-либо использования. Посмотрите Attribute Item Keys для полного списка возможных атрибутов использования.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecIdentityCopyPreferred

  • Присваивает идентификационные данные в масштабе всей системы, которые будут связаны с указанным доменом.

    Объявление

    Swift

    func SecIdentitySetSystemIdentity(_ domain: CFString!, _ idRef: SecIdentity!) -> OSStatus

    Objective C

    OSStatus SecIdentitySetSystemIdentity ( CFStringRef domain, SecIdentityRef idRef );

    Параметры

    domain

    Домен, которому указанные идентификационные данные будут присвоены, обычно в обратной нотации DNS, такой как com.apple.security. Можно также передать значения, определенные в Системных Доменах Идентификационных данных.

    idRef

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Вызывающая сторона должна работать как корень.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает идентификационные данные и сертификаты в PKCS # 12 отформатированный блоб.

    Объявление

    Swift

    func SecPKCS12Import(_ pkcs12_data: CFData!, _ options: CFDictionary!, _ items: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecPKCS12Import ( CFDataRef pkcs12_data, CFDictionaryRef options, CFArrayRef *items );

    Параметры

    pkcs12_data

    Данные № 12 PKCS Вы хотите декодировать.

    options

    Словарь пар ключ/значение, указывающих опции для функции.

    items

    По возврату, массиву CFDictionary словари значения ключа. Функция возвращает один словарь для каждого элемента (идентификационные данные или сертификат) в блобе № 12 PKCS. Для списка ключей словаря см. Ключи Элемента Импорта № 12 PKCS.

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

    Код результата. Функциональные возвраты errSecSuccess если не было никаких ошибок, errSecDecode если блоб не может быть считан или уродлив, и errSecAuthFailed если пароль не был корректен, или данные в блобе были повреждены. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Ваше приложение может импортировать PKCS # 12 отформатированный блоб (файл с расширением .p12) содержа сертификаты и идентификационные данные, где идентификационные данные являются цифровым сертификатом вместе с его связанным закрытым ключом. Можно использовать SecPKCS12Import функция для получения SecIdentityRef объекты (включая SecCertificateRef и SecKeyRef объекты) для идентификационных данных в блобе, вместе с SecCertificateRef объекты для сертификатов в блобе должны были проверить идентификационные данные, и SecTrustRef доверительные объекты управления должны были оценить доверие для идентификационных данных. Можно тогда использовать Keychain Services API (см. Ссылку Keychain Services) помещать идентификационные данные и связанные сертификаты в цепочке для ключей.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    OSStatus SecKeyCreatePair ( SecKeychainRef keychainRef, CSSM_ALGORITHMS algorithm, uint32 keySizeInBits, CSSM_CC_HANDLE contextHandle, CSSM_KEYUSE publicKeyUsage, uint32 publicKeyAttr, CSSM_KEYUSE privateKeyUsage, uint32 privateKeyAttr, SecAccessRef initialAccess, SecKeyRef *publicKey, SecKeyRef *privateKey );

    Параметры

    keychainRef

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

    algorithm

    Алгоритм для использования для генерации пары ключей. Возможные значения определяются в Security.framework/cssmtype.h. Алгоритмы, поддерживаемые модулем AppleCSP, перечислены в Функциональной спецификации Провайдера криптографических служб Apple. Этот параметр проигнорирован если contextHandle параметр не 0.

    keySizeInBits

    Размер ключа для пары ключей. См. Функциональную спецификацию Провайдера криптографических служб Apple для допустимых размеров ключа для каждого алгоритма, поддерживаемого модулем AppleCSP.

    contextHandle

    CSSM CSP дескриптор, или 0. Если этот параметр не 0, algorithm и keySizeInBits параметры проигнорированы.

    publicKeyUsage

    Немного маски, указывающей все разрешенное использование для нового открытого ключа. Возможные значения для CSSM_KEYUSE тип данных определяется в Security.framework/cssmtype.h.

    publicKeyAttr

    Маленькие значения атрибута определения маски для нового открытого ключа. Значения битовой маски эквивалентны определенным для CSSM_KEYATTR_FLAGS в Security.framework/cssmtype.h.

    privateKeyUsage

    Немного маски, указывающей все разрешенное использование для нового закрытого ключа. Возможные значения для CSSM_KEYUSE тип данных определяется в Security.framework/cssmtype.h.

    privateKeyAttr

    Маленькие значения атрибута определения маски для нового закрытого ключа. Значения битовой маски определяются в CSSM_KEYATTR_FLAGS в Security.framework/cssmtype.h. Поддерживаемые значения CSSM_KETATTR_EXTRACTABLE (ключ может быть вынут из цепочки для ключей), и CSSM_KEYATTR_SENSITIVE (извлекаемый ключ может быть вынут из цепочки для ключей только в обернутой форме — т.е. зашифрован). (Обратите внимание на то, что необходимо установить оба из этих битов, если Вы хотите, чтобы ключ был извлекаемым в обернутой форме.) Для любого другого значения этого атрибута ключ не может быть вынут из цепочки для ключей ни при каких обстоятельствах.

    initialAccess

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

    publicKey

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

    privateKey

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Эта функция использует значения по умолчанию для любых атрибутов, требуемых определенными алгоритмами генерации ключей. Алгоритмы, поддерживаемые модулем AppleCSP, перечислены в Функциональной спецификации Провайдера криптографических служб Apple. Для получения дополнительной информации об алгоритмах и значениях по умолчанию для параметров генерации ключей, загрузите концепцию безопасности CDSA с веб-сайта Apple С открытым исходным кодом в http://opensource .apple.com/и считайте файл Supported_CSP_Algorithms.doc в папке Documentation.

    Если Вам нужны дополнительные параметры для генерации ключа — как требуется некоторыми алгоритмами — вызов SecKeychainGetCSPHandle получить CSSM CSP дескриптор и затем вызвать CSSM_CSP_CreateKeyGenContext создать контекст. С этим контекстом использовать CSSM_UpdateContextAttributes добавить дополнительные параметры. Наконец, вызвать CSSM_DeleteContext избавляться от контекста после вызывания этой функции.

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

    Objective C

    @import Security;

    Доступность

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

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

    См. также

    SecKeyGenerate

  • Создает объект SecKeyRef для симметричного ключа.

    Объявление

    Swift

    func SecKeyCreateFromData(_ parameters: CFDictionary!, _ keyData: CFData!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<SecKey>!

    Objective C

    SecKeyRef SecKeyCreateFromData ( CFDictionaryRef parameters, CFDataRef keyData, CFErrorRef *error );

    Параметры

    parameters

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

    keyData

    A CFDataRef объект, содержащий необработанные ключевые данные.

    error

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

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

    Возвраты a SecKeyRef объект, содержащий симметричный ключ.

    Обсуждение

    Словарь параметров должен содержать (в минимуме) запись для kSecAttrKeyType ключ со значением kSecAttrKeyTypeAES или любой другой ключевой тип, определенный в Key Type Value.

    Ключи ниже могут быть дополнительно установлены в словаре параметров (с a CFBooleanRef значение) для переопределения ключевых значений использования по умолчанию:

    Эти значения значение по умолчанию к true если не указано никакое значение.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecKeyDeriveFromPassword(_ password: CFString!, _ parameters: CFDictionary!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<SecKey>!

    Objective C

    SecKeyRef SecKeyDeriveFromPassword ( CFStringRef password, CFDictionaryRef parameters, CFErrorRef *error );

    Параметры

    password

    Пароль, из которого должен быть получен ключ.

    parameters

    Ряд параметров для получения пароля.

    error

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

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

    Возвращает полученный SecKeyRef объект, или NULL на ошибке.

    Обсуждение

    Словарь параметров должен содержать, по крайней мере, следующие ключи:

    • kSecKeyKeyType— тип симметричного ключа для генерации.

    • kSecAttrSalt— a CFDataRef объект, содержащий соленое значение, смешанное в псевдослучайные раунды.

    Словарь параметров может содержать следующие дополнительные ключи:

    • kSecAttrPRF - алгоритм для использования для псевдослучайной функции.

      Если нуль, это принимает значение по умолчанию к kSecAttrPRFHmacAlgSHA1. Для списка возможных значений см. Константы Значения kSecAttrPRF.

    • kSecAttrRounds— число раз для вызывания псевдослучайной функции. Если нуль, количество вычислено так, чтобы вычисление взяло 1/10 секунды (в среднем).

    • kSecAttrKeySizeInBits— a CFNumberRef значение, содержащее требуемый размер ключа в битах. Размер ключа должен быть допустимым для ключевого типа. Значения по умолчанию к 128, если не предоставленный.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    OSStatus SecKeyGenerate ( SecKeychainRef keychainRef, CSSM_ALGORITHMS algorithm, uint32 keySizeInBits, CSSM_CC_HANDLE contextHandle, CSSM_KEYUSE keyUsage, uint32 keyAttr, SecAccessRef initialAccess, SecKeyRef *keyRef );

    Параметры

    keychainRef

    Цепочка для ключей, в которой можно сохранить сгенерированный ключ. Указать NULL генерировать переходный ключ.

    algorithm

    Алгоритм для использования в генерации симметричного ключа. Возможные значения определяются в cssmtype.h. Алгоритмы, поддерживаемые модулем AppleCSP, перечислены в Функциональной спецификации Провайдера криптографических служб Apple. Этот параметр проигнорирован если contextHandle параметр не 0.

    keySizeInBits

    Размер ключа для пары ключей. Этот параметр проигнорирован если contextHandle параметр не 0.

    contextHandle

    CSSM CSP дескриптор, или 0. Если этот параметр не 0, algorithm и keySizeInBits параметры проигнорированы.

    keyUsage

    Немного маски, указывающей все разрешенное использование для нового ключа. Возможные значения для CSSM_KEYUSE тип данных определяется в cssmtype.h.

    keyAttr

    Маленькие значения атрибута определения маски для нового ключа. Значения битовой маски определяются в CSSM_KEYATTR_FLAGS в cssmtype.h.

    initialAccess

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

    keyRef

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Алгоритмы генерации ключей, поддерживаемые модулем AppleCSP, перечислены в Функциональной спецификации Провайдера криптографических служб Apple. Для получения дополнительной информации об алгоритмах и значениях по умолчанию для параметров генерации ключей, загрузите концепцию безопасности CDSA с веб-сайта Apple С открытым исходным кодом в http://opensource .apple.com/и считайте файл Supported_CSP_Algorithms.doc в папке Documentation.

    Если Вам нужны дополнительные параметры для генерации ключа — как требуется некоторыми алгоритмами — вызов SecKeychainGetCSPHandle получить CSSM CSP дескриптор и затем вызвать CSSM_CSP_CreateKeyGenContext создать контекст. С этим контекстом использовать CSSM_UpdateContextAttributes добавить дополнительные параметры. Наконец, вызвать CSSM_DeleteContext избавляться от контекста после вызывания этой функции.

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

    Использовать SecKeyGenerateSymmetric вместо этого.

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

    Objective C

    @import Security;

    Доступность

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

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

    См. также

    SecKeyCreatePair

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

    Объявление

    Swift

    func SecKeyGeneratePair(_ parameters: CFDictionary!, _ publicKey: UnsafeMutablePointer<Unmanaged<SecKey>?>, _ privateKey: UnsafeMutablePointer<Unmanaged<SecKey>?>) -> OSStatus

    Objective C

    OSStatus SecKeyGeneratePair ( CFDictionaryRef parameters, SecKeyRef *publicKey, SecKeyRef *privateKey );

    Параметры

    parameters

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

    publicKey

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

    privateKey

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Для генерации пары ключей словарь передал в parameters параметр должен содержать, по крайней мере, следующие пары ключ/значение:

    • A kSecAttrKeyType ключ со значением любого ключевого типа, определенного в SecItem.h (см. Ссылку Keychain Services), например, kSecAttrKeyTypeRSA.

    • A kSecAttrKeySizeInBits ключ со значением, указывающим требуемый размер ключа в битах. Это может быть указано как любой a CFNumberRef или CFStringRef значение. Например, ключи RSA могут иметь значения размера ключа 512, 768, 1024, или 2048.

    Кроме того, можно указать много других дополнительных атрибутов для открытых и закрытых ключей. Путем Вы делаете это зависит от того, пишете ли Вы код для OS X или iOS:

    • В OS X добавьте пары ключ/значение к parameters словарь непосредственно. Указанные атрибуты применяются и к открытым и к закрытым ключам.

    • В iOS добавьте словари для ключей kSecPublicKeyAttrs и kSecPrivateKeyAttrs к parameters словарь, и обеспечивает атрибуты в тех словарях. Атрибуты, указанные в этих словарях, добавляются или к или к закрытому ключу с открытым ключом, соответственно, позволяя Вам применить отдельные атрибуты к каждому ключу.

    Возможные атрибуты следующим образом; для подробных данных о каждом атрибуте посмотрите Ссылку Keychain Services:

    • kSecAttrLabel— Значение по умолчанию NULL.

    • kSecAttrIsPermanent— Если этот ключ присутствует и имеет булево значение true, пара ключей или пара ключей добавляются к   цепочке для ключей по умолчанию.

    • kSecAttrApplicationTag— Значение по умолчанию NULL.

    • kSecAttrEffectiveKeySize— Значение по умолчанию (NULL) устанавливает эффективный размер ключа в то же как общий размер ключа (kSecAttrKeySizeInBits).

    • kSecAttrCanEncrypt— Значение по умолчанию false для закрытых ключей, true для открытых ключей.

    • kSecAttrCanDecrypt— Значение по умолчанию true для закрытых ключей, false для открытых ключей.

    • kSecAttrCanDerive— Значение по умолчанию true.

    • kSecAttrCanSign— Значение по умолчанию true для закрытых ключей, false для открытых ключей.

    • kSecAttrCanVerify— Значение по умолчанию false для закрытых ключей, true для открытых ключей.

    • kSecAttrCanUnwrap— Значение по умолчанию true для закрытых ключей, false для открытых ключей.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Генерирует пару «открытый/закрытый ключ».

    Объявление

    Swift

    func SecKeyGeneratePairAsync(_ parameters: CFDictionary!, _ deliveryQueue: dispatch_queue_t!, _ result: SecKeyGeneratePairBlock!)

    Objective C

    void SecKeyGeneratePairAsync ( CFDictionaryRef parameters, dispatch_queue_t deliveryQueue, SecKeyGeneratePairBlock result );

    Параметры

    parameters

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

    Эти значения по умолчанию могут быть переопределены путем добавления значения для связанного ключа в словаре параметра.

    deliveryQueue

    Очередь отгрузки, на которую должен быть запланирован блок результата.

    result

    Блок типа SecKeyGeneratePairBlock это вызывают с результатом после завершения.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Генерирует случайный симметричный ключ.

    Объявление

    Swift

    func SecKeyGenerateSymmetric(_ parameters: CFDictionary!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<SecKey>!

    Objective C

    SecKeyRef SecKeyGenerateSymmetric ( CFDictionaryRef parameters, CFErrorRef *error );

    Параметры

    parameters

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

    Эти значения по умолчанию могут быть переопределены путем добавления значения для связанного ключа в словаре параметра.

    Когда используется в качестве замены для SecKeyGenerate, установите kSecUseKeychain ключ к цепочке для ключей (SecKeychainRef) в который ключ должен быть сохранен, kSecAttrLabel к видимой пользователем метке для ключа, и kSecAttrApplicationLabel к идентификатору, определенному Вашим приложением, для последующего использования в вызовах к SecItemCopyMatching. Кроме того, можно указать средства управления доступом цепочки для ключей для ключа путем установки kSecAttrAccess к a SecAccessRef объект.

    error

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

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

    Возвращает недавно сгенерированный симметричный ключ, или NULL на отказ.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Разворачивает обернутый симметричный ключ.

    Объявление

    Swift

    func SecKeyUnwrapSymmetric(_ keyToUnwrap: UnsafeMutablePointer<Unmanaged<CFData>?>, _ unwrappingKey: SecKey!, _ parameters: CFDictionary!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<SecKey>!

    Objective C

    SecKeyRef SecKeyUnwrapSymmetric ( CFDataRef *keyToUnwrap, SecKeyRef unwrappingKey, CFDictionaryRef parameters, CFErrorRef *error );

    Параметры

    keyToUnwrap

    Обернутый ключ для разворачивания.

    unwrappingKey

    Ключ, который должен использоваться для разворачивания keyToUnwrap.

    parameters

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

    error

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

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

    Возвращает развернутый ключ, или NULL на отказ.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Обертывает симметричный ключ с другим ключом.

    Объявление

    Swift

    func SecKeyWrapSymmetric(_ keyToWrap: SecKey!, _ wrappingKey: SecKey!, _ parameters: CFDictionary!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<CFData>!

    Objective C

    CFDataRef SecKeyWrapSymmetric ( SecKeyRef keyToWrap, SecKeyRef wrappingKey, CFDictionaryRef parameters, CFErrorRef *error );

    Параметры

    keyToWrap

    Ключ для обертывания.

    wrappingKey

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

    parameters

    Ключ для использования при обертывании keyToWrap.

    error

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

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

    Возвращает обернутый ключ, или NULL на ошибку.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает учетные данные доступа для ключа.

    Объявление

    Objective C

    OSStatus SecKeyGetCredentials ( SecKeyRef keyRef, CSSM_ACL_AUTHORIZATION_TAG operation, SecCredentialType credentialType, const CSSM_ACCESS_CREDENTIALS **outCredentials );

    Параметры

    keyRef

    Ключ, для которого Вы хотите учетные данные доступа.

    operation

    Тип работы, которая будет выполняться с этим ключом. Возможные значения перечислены под “Типами тега авторизации” в Security.framework/cssmtype.h.

    credentialType

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

    outCredentials

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Учетные данные доступа требуются как ввод ко многим функциям CSSM.

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

    Objective C

    @import Security;

    Доступность

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

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

  • Возвращает CSSM CSP дескриптор для ключа.

    Объявление

    Objective C

    OSStatus SecKeyGetCSPHandle ( SecKeyRef keyRef, CSSM_CSP_HANDLE *cspHandle );

    Параметры

    keyRef

    Ключ, для которого Вы хотите CSSM CSP дескриптор.

    cspHandle

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    CSSM CSP дескриптор требуется как ввод ко многим функциям CSSM.

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

    Objective C

    @import Security;

    Доступность

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

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

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

    Объявление

    Swift

    func SecKeyGetBlockSize(_ key: SecKey!) -> UInt

    Objective C

    size_t SecKeyGetBlockSize ( SecKeyRef key );

    Параметры

    key

    Ключ, для которого Вы хотите длину блока.

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

    Длина блока связалась с ключом в байтах. Если ключ является ключом RSA, например, это - размер модуля.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    OSStatus SecKeyGetCSSMKey ( SecKeyRef key, const CSSM_KEY **cssmKey );

    Параметры

    key

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

    cssmKey

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Доступность

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

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

  • Возвращает словарь, содержащий свойства политики.

    Объявление

    Swift

    func SecPolicyCopyProperties(_ policyRef: SecPolicy!) -> Unmanaged<CFDictionary>!

    Objective C

    CFDictionaryRef SecPolicyCopyProperties ( SecPolicyRef policyRef );

    Параметры

    policyRef

    Политика, с которой должны быть скопированы свойства.

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает объект политики для политики X.509 по умолчанию.

    Объявление

    Swift

    func SecPolicyCreateBasicX509() -> Unmanaged<SecPolicy>!

    Objective C

    SecPolicyRef SecPolicyCreateBasicX509 ( void );

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает объект политики для оценки цепочек сертификата SSL.

    Объявление

    Swift

    func SecPolicyCreateSSL(_ server: Boolean, _ hostname: CFString!) -> Unmanaged<SecPolicy>!

    Objective C

    SecPolicyRef SecPolicyCreateSSL ( Boolean server, CFStringRef hostname );

    Параметры

    server

    Указать true на клиентской стороне для возврата политики для сертификатов сервера SSL.

    hostname

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

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    SecPolicyRef SecPolicyCreateWithOID ( CFTypeRef policyOID );

    Параметры

    policyOID

    Идентификатор объекта (OID) политики вводит для этой политики.

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

    Objective C

    @import Security;

    Доступность

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

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

  • Получает идентификатор объекта политики.

    Объявление

    Objective C

    OSStatus SecPolicyGetOID ( SecPolicyRef policyRef, CSSM_OID *oid );

    Параметры

    policyRef

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

    oid

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Идентификатор объекта политики, в форме a CSSM_OID структура, используется в API CSSM вместе со значением политики. Используйте SecPolicyGetValue функция для получения значения, соответствующего этому идентификатору объекта.

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

    Objective C

    @import Security;

    Доступность

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

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

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

    Объявление

    Objective C

    OSStatus SecPolicyGetTPHandle ( SecPolicyRef policyRef, CSSM_TP_HANDLE *tpHandle );

    Параметры

    policyRef

    Объект политики, из которого можно получить доверительный дескриптор политики.

    tpHandle

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Доступность

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

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

  • Получает значение политики.

    Объявление

    Objective C

    OSStatus SecPolicyGetValue ( SecPolicyRef policyRef, CSSM_DATA *value );

    Параметры

    policyRef

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

    value

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Значение политики определяется и интерпретируется политикой. При использовании CSSM можно указать объектных пар значения политики идентификатора, как введено к CSSM_TP_POLICYINFO функция. Используйте SecPolicyGetOID функция для получения идентификатора объекта (OID) для политики.

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

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

    Objective C

    @import Security;

    Доступность

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

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

    См. также

    SecPolicySetValue

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

    Объявление

    Objective C

    OSStatus SecPolicySearchCopyNext ( SecPolicySearchRef searchRef, SecPolicyRef *policyRef );

    Параметры

    searchRef

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

    policyRef

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

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

    Код результата. Когда больше нет политик, соответствующих параметры, указанные к SecPolicySearchCreate, errSecPolicyNotFound возвращается. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Доступность

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

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

  • Создает поисковый объект для нахождения политик.

    Объявление

    Objective C

    OSStatus SecPolicySearchCreate ( CSSM_CERT_TYPE certType, const CSSM_OID *policyOID, const CSSM_DATA *value, SecPolicySearchRef *searchRef );

    Параметры

    certType

    Тип сертификатов политика использует, как определено в Security.framework/cssmtype.h. Допустимые значения CSSM_CERT_X_509v1, CSSM_CERT_X_509v2, и CSSM_CERT_X_509v3. Если Вы не уверены в типе сертификата, использовать CSSM_CERT_X_509v3.

    policyOID

    Указатель на закодированный BER идентификатор объекта политики, уникально указывающий политику. См. Политики Доверия AppleX509TP для списка политик и идентификаторов объектов, предоставленных модулем AppleX509TP.

    value

    Указатель на дополнительное, определенное с помощью политики значение. Содержание этого значения зависит от указанного идентификатора объекта политики. (Обратите внимание на то, что этот параметр относится к значению, сохраненному в MDS, и не связан с value параметр SecPolicyGetValue функция.) В настоящее время функция не использует этот параметр; передача NULL для этого указателя.

    searchRef

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Вы используете поисковый объект, создаваемый этой функцией в последующих вызовах к SecPolicySearchCopyNext функция для получения доверительных объектов политики. Политики сохранены в базе данных Module Directory Services (MDS). MDS описан подробно в “Части 8: Module Directory Service (MDS)” Коллективной безопасности: CDSA и CSSM, версия 2 (с исправлениями) от Open Group (http://www .opengroup.org/security/cdsa.htm).

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

    Objective C

    @import Security;

    Доступность

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

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

  • Свойства наборов для политики.

    Объявление

    Objective C

    OSStatus SecPolicySetProperties ( SecPolicyRef policyRef, CFDictionaryRef properties );

    Параметры

    policyRef

    Политика измениться

    properties

    A CFDictionaryRef объект, содержащий новый набор свойств. Для списка допустимых ключей свойства посмотрите Ключи Политики безопасности.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Доступность

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

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

  • Устанавливает значение политики.

    Объявление

    Objective C

    OSStatus SecPolicySetValue ( SecPolicyRef policyRef, const CSSM_DATA *value );

    Параметры

    policyRef

    Объект политики, значение которого Вы хотите установить.

    value

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Значение политики определяется и интерпретируется политикой. При использовании CSSM можно указать объектных пар значения политики идентификатора, как введено к CSSM_TP_POLICYINFO функция. Используйте SecPolicyGetOID функция для получения идентификатора объекта (OID) для политики.

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

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

    Objective C

    @import Security;

    Доступность

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

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

    См. также

    SecPolicyGetValue

  • Получает (корневые) сертификаты привязки, сохраненные OS X.

    Объявление

    Swift

    func SecTrustCopyAnchorCertificates(_ anchors: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecTrustCopyAnchorCertificates ( CFArrayRef *anchors );

    Параметры

    anchors

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Эта функция получает сертификаты в хранилище системы сертификатов привязки (см. SecTrustSetAnchorCertificates). Можно использовать SecCertificateRef объекты, полученные этой функцией, как введено к другим функциям этого API, такой как SecTrustCreateWithCertificates.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecTrustCopyCustomAnchorCertificates(_ trust: SecTrust!, _ anchors: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecTrustCopyCustomAnchorCertificates ( SecTrustRef trust, CFArrayRef *anchors );

    Параметры

    trust

    Доверительный объект управления, от которого Вы хотите получить пользовательские сертификаты привязки.

    anchors

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Можно использовать SecTrustSetAnchorCertificates функционируйте для установки пользовательских сертификатов привязки.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecTrustCopyExceptions(_ trust: SecTrust!) -> Unmanaged<CFData>!

    Objective C

    CFDataRef SecTrustCopyExceptions ( SecTrustRef trust );

    Параметры

    trust

    Оцененный доверительный объект управления, политики которого Вы хотите получить.

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

    Непрозрачный cookie. Если Вы передаете этот cookie SecTrustSetExceptions, та функция устанавливает список исключений для будущей обработки сертификата. Один раз этот список исключений установлены, последующий вызов к SecTrustEvaluate поскольку возвратится тот сертификат kSecTrustResultProceed.

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecTrustSetPolicies

  • Возвращает массив, содержащий свойства доверительного объекта.

    Объявление

    Swift

    func SecTrustCopyProperties(_ trust: SecTrust!) -> Unmanaged<CFArray>!

    Objective C

    CFArrayRef SecTrustCopyProperties ( SecTrustRef trust );

    Параметры

    trust

    Доверительный объект, с которого должны быть скопированы свойства.

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

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

    Массив результата является упорядоченным массивом CFDictionaryRef словари, один на сертификат в цепочке, начинаясь с вершины в индексном нуле (0) и продолжаясь до привязки (или последний сертификат в цепочке, если никакая привязка не была найдена).

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecTrustCopyPolicies(_ trust: SecTrust!, _ policies: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecTrustCopyPolicies ( SecTrustRef trust, CFArrayRef *policies );

    Параметры

    trust

    Доверительный объект управления, политики которого Вы хотите получить.

    policies

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecTrustSetPolicies

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

    Объявление

    Swift

    func SecTrustCopyPublicKey(_ trust: SecTrust!) -> Unmanaged<SecKey>!

    Objective C

    SecKeyRef SecTrustCopyPublicKey ( SecTrustRef trust );

    Параметры

    trust

    Доверительный объект управления для оцененного сертификата. Используйте SecTrustCreateWithCertificates функция для создания доверительного объекта управления.

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

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecTrustCreateWithCertificates(_ certificates: AnyObject!, _ policies: AnyObject!, _ trustRef: UnsafeMutablePointer<Unmanaged<SecTrust>?>) -> OSStatus

    Objective C

    OSStatus SecTrustCreateWithCertificates ( CFTypeRef certificates, CFTypeRef policies, SecTrustRef *trust );

    Параметры

    certificates

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

    policies

    Ссылки на одну или более политик, которые будут оценены. Можно передать сингл SecPolicyRef объект или массив один или больше SecPolicyRef объекты. Используйте SecPolicySearchCopyNext функция (не доступный на iOS) для получения объектов политики. Если Вы передаете в многократных политиках, все политики должны проверить для цепочки сертификата, которую будут считать допустимыми.

    trustRef

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

    Если не все сертификаты должны были проверить, что листовой сертификат включен в certificates параметр, SecTrustEvaluate поиски сертифицируют в списке поиска цепочки для ключей (см. SecTrustSetKeychains) и в хранилище системы сертификатов привязки (см. SecTrustSetAnchorCertificates). Однако необходимо получить значительный выигрыш в производительности путем передачи во всей цепочке сертификата, в порядке, в certificates параметр.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Оценивает доверие для указанного сертификата и политик.

    Объявление

    Swift

    func SecTrustEvaluate(_ trust: SecTrust!, _ result: UnsafeMutablePointer<SecTrustResultType>) -> OSStatus

    Objective C

    OSStatus SecTrustEvaluate ( SecTrustRef trust, SecTrustResultType *result );

    Параметры

    trust

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

    result

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

    Прежде чем Вы вызовете эту функцию:

    • Можно вызвать SecTrustSetVerifyDate функция перед вызовом SecTrustEvaluate установить дату и время для использования при проверке сертификата. По умолчанию, SecTrustEvaluate использует текущую дату и время. (Обратите внимание на то, что некоторый APIs, такой как CMS может назначить дату проверки для Вас на основе доверяемой метки времени.)

    • В OS X можно дополнительно вызвать любой из SecTrustSet... функции (такой как SecTrustSetParameters или SecTrustSetVerifyDate) установить значения для параметров и опций.

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

    Для каждой политики функция обычно оценивает доверие согласно указанной пользователями установке доверия (см. SecTrustSettingsSetTrustSettings и SecTrustSettingsCopyTrustSettings). Для примера указанных пользователями доверительных настроек используйте утилиту Keychain Access и смотрите на любой сертификат. Как исключение, если Ваше приложение ранее вызвало SecTrustSetAnchorCertificates, указанные пользователями доверительные настройки проигнорированы, и цепочка сертификата должна содержать один из указанных сертификатов привязки.

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

    Если некоторые сертификаты должны были проверить, что листовой сертификат отсутствует в доверительном объекте управления, то SecTrustEvaluate поиски сертификатов в следующих расположениях:

    • В любых цепочках для ключей в настоящее время в списке поиска цепочки для ключей вызывающей стороны (см. SecTrustSetKeychains).

    • Любые сертификаты, ранее предоставленные путем вызова SecTrustSetAnchorCertificates.

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

    • По сети, если определенные расширения присутствуют в сертификате, раньше создавал цепочку.

    Как правило необходимо обработать различные возвращаемые значения следующим образом:

    • kSecTrustResultUnspecified— Оценка успешно достигла сертификата привязки которому (слепо доверяют), без любых отказов оценки, но никогда не встречалась ни с каким явно установленным доверительным пользователем предпочтением. Это - наиболее распространенное возвращаемое значение.

      Большинство приложений должно, по умолчанию, доверять цепочке. Если Вы спрашиваете пользователя, что сделать в OS X, необходимо использовать SFCertificateTrustPanel класс в Ссылке Платформы Интерфейса Безопасности.

    • kSecTrustResultProceed— Пользователь явно принял решение доверять сертификату цепочке (обычно путем нажатия кнопки в панели доверия сертификата).

      Ваше приложение должно доверять цепочке.

    • kSecTrustResultDeny— Пользователь явно принял решение не доверять сертификату цепочке (обычно путем нажатия надлежащей кнопки в панели доверия сертификата).

      Ваше приложение не должно доверять цепочке.

    • kSecTrustResultConfirm— Пользователь ранее принял решение всегда попросить разрешение прежде, чем принять один из сертификатов в цепочке. Это возвращаемое значение больше не используется, но может произойти в более старых версиях OS X.

      Или спросите пользователя, что сделать или отклонить сертификат. Если Вы спрашиваете пользователя, что сделать в OS X, необходимо использовать SFCertificateTrustPanel класс в Ссылке Платформы Интерфейса Безопасности.

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

      Путем Вы обрабатываете, это зависит от OS.

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

      В OS X можно вызвать SecTrustGetTrustResult функция для получения большей информации о результатах доверительной оценки, или SecTrustGetCssmResult функция для получения информации об оценке в форме, которая может быть передана функциям CSSM.

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

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

      Если бы доверительный отказ был вызван недоверяемым корневым сертификатом, и Ваше приложение спрашивает пользователя, что сделать, то необходимо использовать SFCertificateTrustPanel класс в Ссылке Платформы Интерфейса Безопасности.

    • kSecTrustResultFatalTrustFailure— Оценка перестала работать, потому что сертификат в цепочке является дефектным. Это обычно представляет фундаментальный дефект в данных сертификата, таких как недопустимое кодирование для критического subjectAltName расширение, неподдерживаемое критическое расширение или некоторая другая критическая часть сертификата, который не мог быть успешно интерпретирован. Изменение значений параметров и вызова SecTrustEvaluate снова вряд ли приведет к успешной переоценке, если Вы не обеспечиваете различные сертификаты.

    • kSecTrustResultOtherError— Оценка перестала работать по некоторой другой причине. Это может быть вызвано или отменяемым сертификатом или погрешностями нивелировки OS, которые не связаны с самими сертификатами.

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

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

    Поскольку эта функция могла бы считать сеть для сертификатов в цепочке сертификата, функция могла бы блокировать при попытке доступа к сети. Вы никогда не должны вызывать его от своего основного потока; вызовите его только из функции, работающей на очереди отгрузки или на отдельном потоке. Также в OS X, можно использовать SecTrustEvaluateAsync от Вашего основного потока. В iOS можно сделать ту же вещь, использующую dispatch_once.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Оценивает доверительный объект асинхронно на указанной очереди отгрузки.

    Объявление

    Swift

    func SecTrustEvaluateAsync(_ trust: SecTrust!, _ queue: dispatch_queue_t!, _ result: SecTrustCallback!) -> OSStatus

    Objective C

    OSStatus SecTrustEvaluateAsync ( SecTrustRef trust, dispatch_queue_t queue, SecTrustCallback result );

    Параметры

    trust

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

    queue

    Очередь отгрузки, на которой должен выполниться блок результата.

    result

    Блок вызывают с результатом оценки. Посмотрите Доверительные Константы Типа Результата для описаний возможных значений.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает число сертификатов в оцененной цепочке сертификата.

    Объявление

    Swift

    func SecTrustGetCertificateCount(_ trust: SecTrust!) -> CFIndex

    Objective C

    CFIndex SecTrustGetCertificateCount ( SecTrustRef trust );

    Параметры

    trust

    Доверительный объект управления для оцененного сертификата. Используйте SecTrustCreateWithCertificates функция для создания доверительного объекта управления и SecTrustEvaluate функция для оценки цепочки сертификата.

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

    Число сертификатов в цепочке сертификата.

    Обсуждение

    Необходимо вызвать SecTrustEvaluate функция прежде, чем вызвать эту функцию.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращается определенный сертификат от цепочки сертификата раньше оценивал доверие.

    Объявление

    Swift

    func SecTrustGetCertificateAtIndex(_ trust: SecTrust!, _ ix: CFIndex) -> Unmanaged<SecCertificate>!

    Objective C

    SecCertificateRef SecTrustGetCertificateAtIndex ( SecTrustRef trust, CFIndex ix );

    Параметры

    trust

    Доверительный объект управления для оцененного сертификата. Используйте SecTrustCreateWithCertificates функция для создания доверительного объекта управления и SecTrustEvaluate функция для оценки цепочки сертификата.

    ix

    Индекс требуемого сертификата. Индексы запускаются в 0 для листового сертификата и конца в привязке (или последний сертификат, если никакая привязка не была найдена). Используйте SecTrustGetCertificateCount функция для получения общего количества сертификатов в цепочке.

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

    Объект сертификата для требуемого сертификата.

    Обсуждение

    Необходимо вызвать SecTrustEvaluate функция прежде, чем вызвать эту функцию.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • SecTrustGetCSSMAnchorCertificates SecTrustGetCSSMAnchorCertificates Доступный в OS X v10.2 через OS X v10.6

    Получает сертификаты привязки CSSM.

    Оператор осуждения

    Используйте SecTrustCopyAnchorCertificates функция для новой разработки вместо этого.

    Объявление

    Objective C

    OSStatus SecTrustGetCSSMAnchorCertificates ( const CSSM_DATA **cssmAnchors, uint32 *cssmAnchorCount );

    Параметры

    cssmAnchors

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

    cssmAnchorCount

    По возврату, точкам к числу CSSM_DATA структуры возвратились в cssmAnchors параметр.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Эта функция возвращает сертификаты в хранилище системы сертификатов привязки (см. SecTrustSetAnchorCertificates. Можно использовать CSSM_DATA структуры, возвращенные этой функцией, как введено к функциям в API CSSM.

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

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

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

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

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.2 через OS X v10.6.

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

  • Получает результат доверия CSSM.

    Объявление

    Objective C

    OSStatus SecTrustGetCssmResult ( SecTrustRef trust, CSSM_TP_VERIFY_CONTEXT_RESULT_PTR *result );

    Параметры

    trust

    Доверительный объект управления, ранее отправленный в SecTrustEvaluate функция для оценки.

    result

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    После вызова SecTrustEvaluate функция, можно вызвать SecTrustGetTrustResult функционируйте или SecTrustGetCssmResult функция для получения информации о сертификатах в цепочке сертификата и всем, что могло бы быть неправильно с каждым сертификатом. Принимая во внимание, что SecTrustGetTrustResult функционируйте возвращает информацию в форме, которую можно интерпретировать без обширных знаний CSSM, SecTrustGetCssmResult функционируйте информация о возвратах в форме, которая может быть передана непосредственно функциям CSSM. Посмотрите Коллективную безопасность: CDSA и CSSM, версия 2 (с исправлениями) от Open Group (http://www .opengroup.org/security/cdsa.htm для получения дополнительной информации о CSSM_TP_VERIFY_CONTEXT_RESULT структура, на которую указывают result параметр.

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

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

    Objective C

    @import Security;

    Доступность

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

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

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

    Объявление

    Objective C

    OSStatus SecTrustGetCssmResultCode ( SecTrustRef trust, OSStatus *resultCode );

    Параметры

    trust

    Доверительный объект управления, для которого Вы хотите получить код результата.

    resultCode

    По возврату CSSM заканчиваются код, произведенный новым вызовом для SecTrustEvaluate функция для доверительного объекта управления, указанного в trust параметр. Значение этого параметра не определено если SecTrustEvaluate не был вызван.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services. Возвраты errSecTrustNotAvailable если SecTrustEvaluate функция не была вызвана для указанного доверия.

    Обсуждение

    Принимая во внимание, что SecTrustEvaluate функционируйте возвращает один из кодов результата Концепции безопасности (см. Сертификат, Ключ и Коды Результата Trust Services), SecTrustGetCssmResultCode функционируйте возвращает код результата CSSM, как перечислено в Security.framework/cssmerr.h. Вызовите эту функцию для получения более определенной причины отказа, чем предоставленный SecTrustEvaluate. Другие функции, которые могли бы представлять интерес, SecTrustGetTrustResult функция, возвращающая подробные результаты для каждого сертификата в цепочке сертификата, и SecTrustGetCssmResult функция, возвращающая результаты в формате, который может быть передан непосредственно функциям CSSM.

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

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

    Objective C

    @import Security;

    Доступность

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

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

  • Получает подробные данные о результате вызова к функции SecTrustEvaluate.

    Объявление

    Objective C

    OSStatus SecTrustGetResult ( SecTrustRef trustRef, SecTrustResultType *result, CFArrayRef *certChain, CSSM_TP_APPLE_EVIDENCE_INFO **statusChain );

    Параметры

    trustRef

    Доверительный объект управления, ранее отправленный в SecTrustEvaluate функция для оценки.

    result

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

    certChain

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

    statusChain

    По возврату, точкам к массиву CSSM_TP_APPLE_EVIDENCE_INFO структуры, один для каждого сертификата в цепочке сертификата. Первый элемент в массиве соответствует листовому сертификату, и последний элемент соответствует привязке (предполагающий, что проверка цепочки не перестала работать прежде, чем достигнуть сертификата привязки). Каждая структура описывает состояние одного сертификата в цепочке. Эта структура определяется в cssmapple.h. Не пытайтесь освободить этот указатель; это остается допустимым, пока доверительный объект управления не выпущен или до следующего вызова к функции SecTrustEvaluate это использует этот доверительный объект управления.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

    Можно вызвать SFCertificateTrustPanel класс в Ссылке Платформы Интерфейса Безопасности для отображения этих результатов пользователю.

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

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

    Использовать SecTrustGetTrustResult для новой разработки вместо этого.

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

    Objective C

    @import Security;

    Доступность

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

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

  • Получает доверительный дескриптор политики.

    Объявление

    Objective C

    OSStatus SecTrustGetTPHandle ( SecTrustRef trust, CSSM_TP_HANDLE *handle );

    Параметры

    trust

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

    handle

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

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

    Objective C

    @import Security;

    Доступность

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

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

  • Возвращает код результата из новой доверительной оценки.

    Объявление

    Swift

    func SecTrustGetTrustResult(_ trustRef: SecTrust!, _ result: UnsafeMutablePointer<SecTrustResultType>) -> OSStatus

    Objective C

    OSStatus SecTrustGetTrustResult ( SecTrustRef trust, SecTrustResultType *result );

    Параметры

    trustRef

    Доверительный объект, из которого должны быть получены результаты

    result

    Адрес, где должен быть сохранен числовой результат.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services. Если доверительный объект еще не был оценен, тип результата kSecTrustResultInvalid.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • SecTrustGetUserTrust SecTrustGetUserTrust Доступный в OS X v10.2 через OS X v10.6

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

    Оператор осуждения

    Использовать SecTrustSettingsCopyTrustSettings для новой разработки вместо этого.

    Объявление

    Objective C

    OSStatus SecTrustGetUserTrust ( SecCertificateRef certificate, SecPolicyRef policy, SecTrustUserSetting *trustSetting );

    Параметры

    certificate

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

    policy

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

    trustSetting

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Посмотрите Доверительные Константы Типа Результата для значений и описаний указанных пользователями доверительных настроек. Пользователь может установить эти значения в утилите Keychain Access. При обеспечении собственного UI для этих настроек можно использовать SecTrustSettingsSetTrustSettings функционируйте для установки их.

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

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

    До OS X v10.5, SecTrustSetUserTrust функция не требовала аутентификации пользователя для изменения доверительных настроек. Начиная с OS X v10.5, та функция является оболочкой для SecTrustSettingsSetTrustSettings функция, требующая, чтобы пользователь аутентифицировал прежде, чем изменить доверительные настройки. Поэтому функция могла бы блокировать при ожидании ввода данных пользователем.

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

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.2 через OS X v10.6.

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

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

    Объявление

    Swift

    func SecTrustGetVerifyTime(_ trust: SecTrust!) -> CFAbsoluteTime

    Objective C

    CFAbsoluteTime SecTrustGetVerifyTime ( SecTrustRef trust );

    Параметры

    trust

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

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

    Абсолютное время, в которое сертификаты должны быть проверены на законность.

    Обсуждение

    Эта функция возвращает абсолютное время, возвращенное:

    1. CFDateGetAbsoluteTime функция для даты передала в SecTrustSetVerifyDate функция, если это вызвали, или

    2. последнее значение, возвращенное SecTrustGetVerifyTime функция, если это вызвали прежде, или

    3. значение, возвращенное CFAbsoluteTimeGetCurrent функционируйте если ни один SecTrustSetVerifyDate ни SecTrustGetVerifyTime когда-либо вызывались.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecTrustSetVerifyDate

  • Устанавливает сертификаты привязки, используемые при оценке доверительного объекта управления.

    Объявление

    Swift

    func SecTrustSetAnchorCertificates(_ trust: SecTrust!, _ anchorCertificates: CFArray!) -> OSStatus

    Objective C

    OSStatus SecTrustSetAnchorCertificates ( SecTrustRef trust, CFArrayRef anchorCertificates );

    Параметры

    trust

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

    anchorCertificates

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    SecTrustEvaluate функция ищет сертификат привязки в массиве сертификатов, указанных SecTrustSetAnchorCertificates функция или использование набор по умолчанию, предоставленный системой. В OS X v10.3, например, набор по умолчанию привязок был в файле/system/library/keychains/x509anchors цепочки для ключей. Если Вы хотите создать ряд сертификатов привязки путем изменения набора по умолчанию, вызовите SecTrustCopyAnchorCertificates функция для получения текущего набора сертификатов привязки измените тот набор, как Вы желаете и создаете новый массив сертификатов. Тогда вызовите SecTrustSetAnchorCertificates с измененным массивом.

    Список пользовательских сертификатов привязки сохранен в доверительном объекте управления и может быть получен с SecTrustCopyCustomAnchorCertificates функция.

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

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecTrustSetAnchorCertificatesOnly(_ trust: SecTrust!, _ anchorCertificatesOnly: Boolean) -> OSStatus

    Objective C

    OSStatus SecTrustSetAnchorCertificatesOnly ( SecTrustRef trust, Boolean anchorCertificatesOnly );

    Параметры

    trust

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

    anchorCertificatesOnly

    Если true, отключает доверие, что любые привязки кроме тех передали в с SecTrustSetAnchorCertificates функция. Если false, встроенным сертификатам привязки также доверяют. Если SecTrustSetAnchorCertificates вызывается и SecTrustSetAnchorCertificatesOnly не вызывается, только привязки явно передали в, доверяются.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Устанавливает список исключений, которые должны быть проигнорированы при оценке сертификата.

    Объявление

    Swift

    func SecTrustSetExceptions(_ trust: SecTrust!, _ exceptions: CFData!) -> Bool

    Objective C

    bool SecTrustSetExceptions ( SecTrustRef trust, CFDataRef exceptions );

    Параметры

    trust

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

    exceptions

    Непрозрачный cookie, возвращенный предшествующим вызовом к SecTrustCopyExceptions.

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

    Возвраты true если cookie исключений были допустимы и соответствуют текущий листовой сертификат, false иначе.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecTrustSetPolicies

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

    Объявление

    Swift

    func SecTrustSetKeychains(_ trust: SecTrust!, _ keychainOrArray: AnyObject!) -> OSStatus

    Objective C

    OSStatus SecTrustSetKeychains ( SecTrustRef trust, CFTypeRef keychainOrArray );

    Параметры

    trust

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

    keychainOrArray

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    По умолчанию, SecTrustEvaluate использует список поиска цепочки для ключей пользователя для поиска промежуточных сертификатов в цепочке сертификата. Используйте SecTrustSetKeychains функционируйте для изменения набора цепочек для ключей, которые будут искаться. Если Вы хотите изменить набор по умолчанию цепочек для ключей, сначала вызовите SecKeychainCopySearchList функция (см. Ссылку Keychain Services) получить текущий список поиска цепочки для ключей, изменить тот набор, как Вы желаете, и создают новый поисковый список. Тогда можно вызвать SecTrustSetKeychains с измененным списком.

    Используйте SecTrustSetAnchorCertificates функционируйте для установки массива искавших сертификатов привязки.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecTrustSetOptions(_ trustRef: SecTrust!, _ options: SecTrustOptionFlags) -> OSStatus

    Objective C

    OSStatus SecTrustSetOptions ( SecTrustRef trustRef, SecTrustOptionFlags options );

    Параметры

    trustRef

    Доверительный объект изменить.

    options

    Новый набор флагов опции. Для списка опций посмотрите “Security Trust Option Flags”.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Устанавливает данные действия и действия для доверительного объекта управления.

    Объявление

    Objective C

    OSStatus SecTrustSetParameters ( SecTrustRef trustRef, CSSM_TP_ACTION action, CFDataRef actionData );

    Параметры

    trustRef

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

    action

    CSSM доверяет действию. Передача CSSM_TP_ACTION_DEFAULT для действия по умолчанию. Другие доступные действия, если таковые имеются, описаны в документации для доверительного модуля политики. Для модуля AppleX509TP см. Функциональную спецификацию Модуля Политики Доверия Apple.

    actionData

    Ссылка на данные действия. Флаги Данных действия перечисляют возможные значения для этого параметра для действия модуля политики доверия AppleX509TP по умолчанию. Для других действий (если таковые имеются), возможные значения для данных действия указаны в Функциональной спецификации Модуля Политики Доверия Apple.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

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

    Objective C

    @import Security;

    Доступность

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

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

  • Установите политики использовать в оценке.

    Объявление

    Swift

    func SecTrustSetPolicies(_ trust: SecTrust!, _ policies: AnyObject!) -> OSStatus

    Objective C

    OSStatus SecTrustSetPolicies ( SecTrustRef trust, CFTypeRef policies );

    Параметры

    trust

    Доверительный объект управления, список политики которого Вы хотите установить.

    policies

    Массив один или больше SecPolicyRef объекты для политик, которые будут использоваться этим доверительным объектом управления. Единственный объект политики типа SecPolicyRef май также быть переданным, представляя массив одной политики.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecTrustCopyPolicies

  • SecTrustSetUserTrust SecTrustSetUserTrust Доступный в OS X v10.2 через OS X v10.6

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

    Оператор осуждения

    Использовать SecTrustSettingsSetTrustSettings для новой разработки вместо этого.

    Объявление

    Objective C

    OSStatus SecTrustSetUserTrust ( SecCertificateRef certificate, SecPolicyRef policy, SecTrustUserSetting trustSetting );

    Параметры

    certificate

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

    policy

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

    trustSetting

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Каждый сертификат имеет одну указанную пользователями доверительную установку на политику. Эти доверительные настройки используются SecTrustEvaluate функционируйте при оценке доверия. Посмотрите Доверительные Константы Типа Результата для значений и описаний указанных пользователями доверительных настроек. Пользователь может установить эти значения в утилите Keychain Access. При определенных обстоятельствах для административного приложения могло бы быть подходяще изменить пользовательские настройки доверия. В этом случае можно использовать SecTrustSetUserTrust функция, чтобы сделать так. Можно получить сертификат из цепочки для ключей и преобразовать тип объекта элемента цепочки для ключей (тип данных SecKeychainItemRef) к объекту сертификата (SecCertificateRef).

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

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

    До OS X v10.5, эта функция не требовала аутентификации пользователя для изменения доверительных настроек. Начиная с OS X v10.5, эта функция является оболочкой для SecTrustSettingsSetTrustSettings функция, требующая, чтобы пользователь аутентифицировал прежде, чем изменить доверительные настройки. Поэтому не возможно изменить доверительные настройки в расчете на пользователя, если не работающие в среде GUI (т.е. когда пользователь не регистрируется на пути окно входа в систему). При внесении изменений в доверительные настройки в масштабе всей системы пользователю предлагают с предупредительной панелью, просящей имя и пароль администратора, если обработка вызовов не работает как корень, когда не необходима никакая дальнейшая аутентификация. Обратите внимание на то, что эта функция могла бы блокировать при ожидании ввода данных пользователем.

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

    Objective C

    @import Security;

    Доступность

    Доступный в OS X v10.2 через OS X v10.6.

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

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

    Объявление

    Swift

    func SecTrustSetVerifyDate(_ trust: SecTrust!, _ verifyDate: CFDate!) -> OSStatus

    Objective C

    OSStatus SecTrustSetVerifyDate ( SecTrustRef trust, CFDateRef verifyDate );

    Параметры

    trust

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

    verifyDate

    Дата и время для использования при проверке сертификата.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    SecTrustGetVerifyTime

  • Получает массив всех сертификатов, доверяющих настройки определенному доверительному домену настроек.

    Объявление

    Swift

    func SecTrustSettingsCopyCertificates(_ domain: SecTrustSettingsDomain, _ certArray: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecTrustSettingsCopyCertificates ( SecTrustSettingsDomain domain, CFArrayRef *certArray );

    Параметры

    domain

    Доверительный домен настроек, для которого Вы хотите список сертификатов. Для возможных значений посмотрите Доверительные Константы Домена Настроек.

    certArray

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services. Возвраты errSecNoTrustSettings если никакие доверительные настройки не существуют для указанного домена.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func SecTrustSettingsCopyModificationDate(_ certRef: SecCertificate!, _ domain: SecTrustSettingsDomain, _ modificationDate: UnsafeMutablePointer<Unmanaged<CFDate>?>) -> OSStatus

    Objective C

    OSStatus SecTrustSettingsCopyModificationDate ( SecCertificateRef certRef, SecTrustSettingsDomain domain, CFDateRef *modificationDate );

    Параметры

    certRef

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

    domain

    Доверительный домен настроек доверительных настроек, для которых Вы хотите получить время изменения (для единственного сертификата возможно доверить настройки больше чем одному домену). Для возможных значений посмотрите Доверительные Константы Домена Настроек.

    modificationDate

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services. Возвраты errSecItemNotFound если никакие доверительные настройки не существуют для указанного сертификата и домена.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает доверительные настройки для сертификата.

    Объявление

    Swift

    func SecTrustSettingsCopyTrustSettings(_ certRef: SecCertificate!, _ domain: SecTrustSettingsDomain, _ trustSettings: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus SecTrustSettingsCopyTrustSettings ( SecCertificateRef certRef, SecTrustSettingsDomain domain, CFArrayRef *trustSettings );

    Параметры

    certRef

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

    domain

    Доверительный домен настроек доверительных настроек, которые Вы хотите получить. Для возможных значений посмотрите Доверительные Константы Домена Настроек.

    trustSettings

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services. Возвраты errSecItemNotFound если никакие доверительные настройки не существуют для указанного сертификата и домена.

    Обсуждение

    Доверительные настройки каждого сертификата выражены как a CFArray это включает любое число (включая нуль) словарей типа CFDictionary, каждый из которых включает один набор ограничений использования. Каждый ограничительный словарь использования содержит нуль или одну из каждой из следующих пар ключ/значение:

    Ключ

    Значение

    kSecTrustSettingsPolicy

    Объект политики (SecPolicyRef) указание политики проверки сертификата; например: SSL, SMIME. Используйте SecPolicySearchCopyNext функция для получения объекта политики.

    kSecTrustSettingsApplication

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

    kSecTrustSettingsPolicyString

    ACFString содержа специфичные для политики данные. Для политики SMIME эта строка содержит адрес электронной почты. Для политики SSL это содержит имя хоста.

    kSecTrustSettingsKeyUsage

    ACFNumber содержа SInt32 значение, указывающее операции, для которых может использоваться ключ шифрования в этом сертификате. Для возможных значений посмотрите Доверительные Ключевые Константы Использования Настроек.

    kSecTrustSettingsResult

    A CFNumber содержа SInt32 значение, указывающее эффективную доверительную установку для этого ограничительного словаря использования. Данный ограничительный словарь использования включен в оценку доверия для сертификата, только если указанная политика, приложение и ключевое использование соответствуют использование, для которого оценивается сертификат. Если это верно, тогда значение kSecTrustSettingsResult ключ является ORed с результатами других словарей для определения полной доверительной установки для сертификата.

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

    Возможные значения для этого ключа перечислены в Доверительных Константах Результата Настроек.

    kSecTrustSettingsAllowedError

    A CFNumber содержа SInt32 значение, указывающее a CSSM_RETURN закончитесь код, если встречено во время проверки сертификата, проигнорированный для того сертификата. Эти “позволенная ошибка” значения применяется к оценке, только если ограничительный словарь использования удовлетворяет критерии, описанные с kSecTrustSettingsResult ключ. Когда сертификат оценивается, ограничительный словарь использования без ограничений, но с позволенным ошибочным значением заставляет ту ошибку всегда позволяться.

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

    ((ограничительный словарь использования 0 0 компонента) AND (ограничительный словарь использования 0 1 компонента) AND (...)) OR ((ограничительный словарь использования 1 0 компонента) AND (ограничительный словарь использования 1 1 компонента) AND (...)) OR (...)...

    Если значение kSecTrustSettingsResult компонент не kSecTrustSettingsResultUnspecified для ограничительного словаря использования, не имеющего никаких ограничений, значения по умолчанию kSecTrustSettingsResultTrustRoot принят. Указать значение для kSecTrustSettingsAllowedError компонент, явно не доверяя или не доверяя связанному сертификату, укажите значение kSecTrustSettingsResultUnspecified для kSecTrustSettingsResult компонент.

    Пустой доверительный массив настроек (т.е. trustSettings параметр возвращает допустимое, но пустое CFArray) означает, «всегда доверяют этому сертификату” полную доверительную установку для сертификата о kSecTrustSettingsResultTrustRoot. Обратите внимание на то, что пустой доверительный массив настроек не является тем же как никакими доверительными настройками ( trustSettings возвраты параметра NULL), что означает, что «этот сертификат должен быть проверен к известному сертификату, которому доверяют”.

    Отметьте различие между результатами kSecTrustSettingsResultTrustRoot и kSecTrustSettingsResultTrustAsRoot: Прежний может только быть применен к (самоподписанным) сертификатам корня; последний может только быть применен к некорневым сертификатам. Поэтому пустой доверительный массив настроек для некорневого сертификата недопустим, потому что значение по умолчанию kSecTrustSettingsResultTrustRoot не допустимо для некорневого сертификата.

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает внешнее, переносимое представление доверительных настроек указанного домена.

    Объявление

    Swift

    func SecTrustSettingsCreateExternalRepresentation(_ domain: SecTrustSettingsDomain, _ trustSettings: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus SecTrustSettingsCreateExternalRepresentation ( SecTrustSettingsDomain domain, CFDataRef *trustSettings );

    Параметры

    domain

    Доверительный домен настроек, для которого Вы хотите внешнее представление доверительных настроек. Для возможных значений посмотрите Доверительные Константы Домена Настроек.

    trustSettings

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

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services. Возвраты errSecNoTrustSettings если никакие доверительные настройки не существуют для указанного домена.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Импорт доверяет настройкам в доверенный домен.

    Объявление

    Swift

    func SecTrustSettingsImportExternalRepresentation(_ domain: SecTrustSettingsDomain, _ trustSettings: CFData!) -> OSStatus

    Objective C

    OSStatus SecTrustSettingsImportExternalRepresentation ( SecTrustSettingsDomain domain, CFDataRef trustSettings );

    Параметры

    domain

    Доверительный домен настроек, в который Вы хотите импортировать доверительные настройки. Для возможных значений посмотрите Доверительные Константы Домена Настроек.

    trustSettings

    Внешнее представление доверительных настроек (создаваемый SecTrustSettingsCreateExternalRepresentation функция), что Вы хотите импортировать.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Удаляет доверительные настройки для сертификата.

    Объявление

    Swift

    func SecTrustSettingsRemoveTrustSettings(_ certRef: SecCertificate!, _ domain: SecTrustSettingsDomain) -> OSStatus

    Objective C

    OSStatus SecTrustSettingsRemoveTrustSettings ( SecCertificateRef certRef, SecTrustSettingsDomain domain );

    Параметры

    certRef

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

    domain

    Доверительный домен настроек, для которого Вы хотите удалить доверительные настройки. Для возможных значений посмотрите Доверительные Константы Домена Настроек.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services. Возвраты errSecItemNotFound если никакие доверительные настройки не существуют для сертификата.

    Обсуждение

    Если сертификат не имеет никаких доверительных настроек, сертификат должен быть проверен к известному, сертификату, которому доверяют.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает доверительные настройки для сертификата.

    Объявление

    Swift

    func SecTrustSettingsSetTrustSettings(_ certRef: SecCertificate!, _ domain: SecTrustSettingsDomain, _ trustSettingsDictOrArray: AnyObject!) -> OSStatus

    Objective C

    OSStatus SecTrustSettingsSetTrustSettings ( SecCertificateRef certRef, SecTrustSettingsDomain domain, CFTypeRef trustSettingsDictOrArray );

    Параметры

    certRef

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

    domain

    Доверительный домен настроек доверительных настроек, которые Вы хотите указать. Для возможных значений посмотрите Доверительные Константы Домена Настроек.

    trustSettingsDictOrArray

    Доверительные настройки Вы хотите указать для этого сертификата в форме a CFDictionary объект, a CFArray из CFDictionary объекты, или NULL. Содержание CFDictionary объекты раньше указывали, что доверительные настройки детализированы в SecTrustSettingsCopyTrustSettings функциональное описание. Передача NULL если Вы хотите указать пустой доверительный массив настроек.

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

    Код результата. См. Сертификат, Ключ и Коды Результата Trust Services.

    Обсуждение

    Если Вы передаете NULL для trustSettingsDictOrArray параметр, тогда доверительные настройки для этого сертификата сохранены, поскольку пустой доверительный массив настроек, указывая «всегда доверяет этому корневому сертификату независимо от использования». Эта установка допустима только для самоподписанного (корневого) сертификата. Вместо этого удалить все доверительные настройки для сертификата (интерпретируемый как «этот сертификат должен быть проверен к известному, доверяло сертификату»), используйте SecTrustSettingsRemoveTrustSettings функция.

    Если указанный сертификат уже доверяет настройки указанному домену, эта функция заменяет их.

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает строку, описывающую ошибку.

    Объявление

    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 и позже.

Типы данных

  • Содержит информацию об оценке сертификата.

    Объявление

    Swift

    struct CSSM_TP_APPLE_EVIDENCE_INFO { var StatusBits: CSSM_TP_APPLE_CERT_STATUS var NumStatusCodes: uint32 var StatusCodes: UnsafeMutablePointer<CSSM_RETURN> var Index: uint32 var DlDbHandle: CSSM_DL_DB_HANDLE var UniqueRecord: CSSM_DB_UNIQUE_RECORD_PTR }

    Objective C

    typedef struct { CSSM_TP_APPLE_CERT_STATUS StatusBits; uint32 NumStatusCodes CSSM_RETURN *StatusCodes; uint32 Index; CSSM_DL_DB_HANDLE DlDbHandle CSSM_DB_UNIQUE_RECORD_PTR UniqueRecord; } CSSM_TP_APPLE_EVIDENCE_INFO;

    Поля

    StatusBits

    Указывает, допустим ли сертификат и где это было найдено; посмотрите Константы Состояния Сертификата.

    NumStatusCodes

    Число CSSM_RETURN структуры возвратились в StatusCodes поле.

    StatusCodes

    Массив CSSM_RETURN значения, указывающие, какие проблемы были найдены с сертификатом. Специфичные для Apple значения находятся в cssmapple.h. Стандартные значения CSSM определяются в cssmerr.h и обсуждены в “Кодах ошибки и Ошибочных Значениях” в “Trust Policy Services API” глава Коллективной безопасности: CDSA и CSSM, версия 2 (с исправлениями) от Open Group (http://www .opengroup.org/security/cdsa.htm

    Index

    Индекс в стандартный набор сертификатов или сертификатов привязки, если сертификат прибыл из одного из тех наборов.

    DlDbHandle

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

    UniqueRecord

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

    Обсуждение

    Массив этих структур возвращается SecTrustGetResult функция; каждый описывает сертификат в цепочке сертификата.

    Доступность

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

  • Абстрактный Базовый Текстовый объект основы, представляющий сертификат X.509.

    Объявление

    Swift

    typealias SecCertificateRef = SecCertificate

    Objective C

    typedef struct __SecCertificate *SecCertificateRef;

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Абстрактный Базовый Текстовый объект основы, представляющий идентификационные данные.

    Объявление

    Swift

    typealias SecIdentityRef = SecIdentity

    Objective C

    typedef struct __SecIdentity *SecIdentityRef;

    Обсуждение

    A SecIdentityRef объект содержит a SecKeyRef возразите и связанное SecCertificateRef объект.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Содержит информацию о поиске идентификационных данных.

    Объявление

    Swift

    typealias SecIdentitySearchRef = SecIdentitySearch

    Objective C

    typedef struct OpaqueSecIdentitySearchRef *SecIdentitySearchRef;

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Абстрактный Базовый Текстовый объект основы, представляющий асимметричный ключ.

    Объявление

    Swift

    typealias SecKeyRef = SecKey

    Objective C

    typedef struct __SecKey *SecKeyRef;

    Обсуждение

    A SecKeyRef объект для ключа, который сохранен в цепочке для ключей, может быть безопасно брошен к a SecKeychainItemRef для манипулирования как элемент цепочки для ключей. С другой стороны, если SecKeyRef не сохранен в цепочке для ключей, бросая объект к a SecKeychainItemRef и передача его к Keychain Services функционирует ошибки возвратов.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Содержит информацию о политике.

    Объявление

    Swift

    typealias SecPolicyRef = SecPolicy

    Objective C

    typedef struct OpaqueSecPolicyRef *SecPolicyRef;

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Содержит информацию о поиске политики.

    Объявление

    Swift

    typealias SecPolicySearchRef = SecPolicySearch

    Objective C

    typedef struct OpaquePolicySearchRef *SecPolicySearchRef;

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Представляет 20-байтовый хеш с открытым ключом.

    Объявление

    Swift

    typealias SecPublicKeyHash = (UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8)

    Objective C

    typedef UInt8 SecPublicKeyHash[20];

    Обсуждение

    SecPublicKeyHash тип представляет хеш открытого ключа. Можно использовать константу kSecPublicKeyHashItemAttr как введено к функциям в Keychain Services API, чтобы установить или получить значение атрибута сертификата этого типа. Посмотрите Ссылку Keychain Services для получения информации о получении и установке значений атрибута.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Содержит информацию о доверительном управлении.

    Объявление

    Swift

    typealias SecTrustRef = SecTrust

    Objective C

    typedef struct __SecTrust *SecTrustRef;

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Objective C

    typedef SecTrustResultType SecTrustUserSetting;

    Обсуждение

    Посмотрите Доверительные Константы Типа Результата для возможных значений.

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

    Objective C

    @import Security;

    Доступность

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

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

  • Блок, вызванный с результатами вызова к SecKeyGeneratePairAsync.

    Объявление

    Swift

    typealias SecKeyGeneratePairBlock = (SecKey!, SecKey!, CFError!) -> Void

    Objective C

    typedef void (^SecKeyGeneratePairBlock)(SecKeyRef publicKey, SecKeyRef privateKey, CFErrorRef error);

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Блок, вызванный с результатами вызова к SecTrustEvaluateAsync.

    Объявление

    Swift

    typealias SecTrustCallback = (SecTrust!, SecTrustResultType) -> Void

    Objective C

    typedef void (^SecTrustCallback)(SecTrustRef trustRef, SecTrustResultType trustResult);

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

Константы

  • Указывает атрибуты элемента сертификата.

    Объявление

    Swift

    var kSecSubjectItemAttr: Int { get } var kSecIssuerItemAttr: Int { get } var kSecSerialNumberItemAttr: Int { get } var kSecPublicKeyHashItemAttr: Int { get } var kSecSubjectKeyIdentifierItemAttr: Int { get } var kSecCertTypeItemAttr: Int { get } var kSecCertEncodingItemAttr: Int { get }

    Objective C

    enum { kSecSubjectItemAttr = 'subj', kSecIssuerItemAttr = 'issu', kSecSerialNumberItemAttr = 'snbr', kSecPublicKeyHashItemAttr = 'hpky', kSecSubjectKeyIdentifierItemAttr = 'skid', kSecCertTypeItemAttr = 'ctyp', kSecCertEncodingItemAttr = 'cenc' };

    Константы

    • kSecSubjectItemAttr

      kSecSubjectItemAttr

      Закодированное DER подчиненное отличительное имя.

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

    • kSecIssuerItemAttr

      kSecIssuerItemAttr

      Закодированное DER отличительное имя эмитента.

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

    • kSecSerialNumberItemAttr

      kSecSerialNumberItemAttr

      Закодированный DER порядковый номер сертификата (без тега и длины).

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

    • kSecPublicKeyHashItemAttr

      kSecPublicKeyHashItemAttr

      Хеш с открытым ключом.

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

    • kSecSubjectKeyIdentifierItemAttr

      kSecSubjectKeyIdentifierItemAttr

      Подчиненный ключевой идентификатор.

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

    • kSecCertTypeItemAttr

      kSecCertTypeItemAttr

      Тип сертификата.

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

    • kSecCertEncodingItemAttr

      kSecCertEncodingItemAttr

      Кодирование сертификата.

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

  • Указывает состояние сертификата.

    Объявление

    Swift

    typealias CSSM_TP_APPLE_CERT_STATUS = uint32

    Objective C

    typedef uint32 CSSM_TP_APPLE_CERT_STATUS; enum { CSSM_CERT_STATUS_EXPIRED = 0x00000001, CSSM_CERT_STATUS_NOT_VALID_YET = 0x00000002, CSSM_CERT_STATUS_IS_IN_INPUT_CERTS = 0x00000004, CSSM_CERT_STATUS_IS_IN_ANCHORS = 0x00000008, CSSM_CERT_STATUS_IS_ROOT = 0x00000010, CSSM_CERT_STATUS_IS_FROM_NET = 0x00000020 };

    Константы

    • CSSM_CERT_STATUS_EXPIRED

      CSSM_CERT_STATUS_EXPIRED

      Сертификат истек.

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

    • CSSM_CERT_STATUS_NOT_VALID_YET

      CSSM_CERT_STATUS_NOT_VALID_YET

      Сертификат еще не допустим. В дополнение к истечению срока, или “Не Допустимый После”, дата и время, каждый сертификат имеет “Не Допустимый Перед” дата и время.

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

    • CSSM_CERT_STATUS_IS_IN_INPUT_CERTS

      CSSM_CERT_STATUS_IS_IN_INPUT_CERTS

      Это - один из сертификатов, включенных в массив сертификатов, переданных SecTrustCreateWithCertificates функция.

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

    • CSSM_CERT_STATUS_IS_IN_ANCHORS

      CSSM_CERT_STATUS_IS_IN_ANCHORS

      Этот сертификат был найден в хранилище системы сертификатов привязки (см. SecTrustSetAnchorCertificates).

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

    • CSSM_CERT_STATUS_IS_ROOT

      CSSM_CERT_STATUS_IS_ROOT

      Сертификат является корневым сертификатом. Если этот бит установлен, но CSSM_CERT_STATUS_IS_IN_ANCHORS бит не, тогда это - недоверяемая привязка.

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

    • CSSM_CERT_STATUS_IS_FROM_NET

      CSSM_CERT_STATUS_IS_FROM_NET

      Сертификат был получен через некоторый механизм кроме сертификатов, сохраненных операционной системой и переданными в SecTrustCreateWithCertificates функция. Например, сертификат, возможно, был выбран по сети.

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

    Обсуждение

    Если ни один из этих битов не установлен, сертификат прибыл из стандартного поиска сертификата; см. описание SecTrustSetKeychains функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    typealias SecPadding = UInt32

    Objective C

    typedef uint32_t SecPadding; enum { kSecPaddingNone = 0, kSecPaddingPKCS1 = 1, kSecPaddingPKCS1MD2 = 0x8000, kSecPaddingPKCS1MD5 = 0x8001, kSecPaddingPKCS1SHA1 = 0x8002, };

    Константы

    • kSecPaddingNone

      kSecPaddingNone

      Никакое дополнение.

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

    • kSecPaddingPKCS1

      kSecPaddingPKCS1

      Дополнение PKCS1.

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

    • kSecPaddingPKCS1MD2

      kSecPaddingPKCS1MD2

      Данные, которые будут подписаны, являются хешем MD2.

      Стандартное дополнение ASN.1 сделано, а также дополнение PKCS1 базовой операции RSA. Используемый с SecKeyRawSign и SecKeyRawVerify только.

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

    • kSecPaddingPKCS1MD5

      kSecPaddingPKCS1MD5

      Данные, которые будут подписаны, являются хешем MD5.

      Стандартное дополнение ASN.1 сделано, а также дополнение PKCS1 базовой операции RSA. Используемый с SecKeyRawSign и SecKeyRawVerify только.

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

    • kSecPaddingPKCS1SHA1

      kSecPaddingPKCS1SHA1

      Данные, которые будут подписаны, являются хешем SHA1.

      Стандартное дополнение ASN.1 будет сделано, а также дополнение PKCS1 базовой операции RSA. Используемый с SecKeyRawSign и SecKeyRawVerify только.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Используйте эти ключи словаря с SecKeyGeneratePair функция.

    Объявление

    Swift

    var kSecPrivateKeyAttrs: Unmanaged<AnyObject>! var kSecPublicKeyAttrs: Unmanaged<AnyObject>!

    Objective C

    CFTypeRef kSecPrivateKeyAttrs; CFTypeRef kSecPublicKeyAttrs;

    Константы

    • kSecPrivateKeyAttrs

      kSecPrivateKeyAttrs

      Частные атрибуты криптографического ключа.

      Соответствующее значение является a CFDictionaryRef словарь, содержащий пары ключ/значение для атрибутов, определенных для закрытого ключа, который будет сгенерирован.

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

    • kSecPublicKeyAttrs

      kSecPublicKeyAttrs

      Общедоступные атрибуты криптографического ключа.

      Соответствующее значение является a CFDictionaryRef словарь, содержащий пары ключ/значение для атрибутов, определенных для открытого ключа, который будет сгенерирован.

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

  • Указывает доверительный тип результата.

    Объявление

    Swift

    typealias SecTrustResultType = UInt32

    Objective C

    typedef uint32_t SecTrustResultType; enum { kSecTrustResultInvalid, kSecTrustResultProceed, kSecTrustResultConfirm, kSecTrustResultDeny, kSecTrustResultUnspecified, kSecTrustResultRecoverableTrustFailure, kSecTrustResultFatalTrustFailure, kSecTrustResultOtherError };

    Константы

    • kSecTrustResultInvalid

      kSecTrustResultInvalid

      Недопустимая установка или результат. Обычно, этот результат указывает что SecTrustEvaluate функция не завершалась успешно.

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

    • kSecTrustResultProceed

      kSecTrustResultProceed

      Пользователь указал, что можно доверять сертификату в целях, определяемых в указанных политиках. Это значение может быть возвращено SecTrustEvaluate функционируйте или сохраненный как часть пользовательских настроек доверия. В утилите Keychain Access это значение называют “Всегда Доверием”.

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

    • kSecTrustResultConfirm

      kSecTrustResultConfirm

      Подтверждение от пользователя требуется перед продолжением. Это значение может быть возвращено SecTrustEvaluate функционируйте или сохраненный как часть пользовательских настроек доверия. В утилите Keychain Access называют это значение, “Спросите Разрешение”.

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

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

    • kSecTrustResultDeny

      kSecTrustResultDeny

      Пользователь указал, что нельзя доверять сертификату. Это значение может быть возвращено SecTrustEvaluate функционируйте или сохраненный как часть пользовательских настроек доверия. В утилите Keychain Access это значение называют “Никогда Доверием”.

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

    • kSecTrustResultUnspecified

      kSecTrustResultUnspecified

      Пользователь не указывал доверительную установку. Это значение может быть возвращено SecTrustEvaluate функционируйте или сохраненный как часть пользовательских настроек доверия. В утилите Keychain Access это значение называют “Системной Политикой Использования”. Это - пользователь по умолчанию, устанавливающий.

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

    • kSecTrustResultRecoverableTrustFailure

      kSecTrustResultRecoverableTrustFailure

      Доверие отклонено; повторите после изменения настроек. Например, если доверие отклонено, потому что сертификат истек, можно спросить пользователя, доверять ли сертификату так или иначе. Если пользователь отвечает да, то используйте SecTrustSettingsSetTrustSettings функционируйте для установки пользовательского доверия, устанавливающего в kSecTrustResultProceed и вызовите SecTrustEvaluate снова. Это значение может быть возвращено SecTrustEvaluate функционируйте, но не сохраненные как часть пользовательских настроек доверия.

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

    • kSecTrustResultFatalTrustFailure

      kSecTrustResultFatalTrustFailure

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

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

    • kSecTrustResultOtherError

      kSecTrustResultOtherError

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

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

    Обсуждение

    Эти константы могут быть возвращены SecTrustEvaluate функционируйте или сохраненный как одну из пользовательских настроек доверия (см. SecTrustSettingsSetTrustSettings), как отмечено. При оценке пользовательского доверия, SecTrustEvaluate запускается с листового сертификата и работ через цепочку вниз к привязке. SecTrustSettingsCopyTrustSettings функционируйте возвращает пользовательскую установку доверия первого сертификата, для которого установка отличается kSecTrustResultUnspecified. Точно так же функция использует пользовательскую установку доверия первого сертификата, для которого установка отличается kSecTrustResultUnspecified, независимо от пользователя доверяют настройкам других сертификатов в цепочке.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    typealias CSSM_APPLE_TP_ACTION_FLAGS = uint32

    Objective C

    typedef uint32 CSSM_APPLE_TP_ACTION_FLAGS; enum { CSSM_TP_ACTION_ALLOW_EXPIRED = 0x00000001, CSSM_TP_ACTION_LEAF_IS_CA = 0x00000002, CSSM_TP_ACTION_FETCH_CERT_FROM_NET = 0x00000004, CSSM_TP_ACTION_ALLOW_EXPIRED_ROOT = 0x00000008 };

    Константы

    • CSSM_TP_ACTION_ALLOW_EXPIRED

      CSSM_TP_ACTION_ALLOW_EXPIRED

      Проигнорируйте дату истечения срока и время для всех сертификатов.

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

    • CSSM_TP_ACTION_LEAF_IS_CA

      CSSM_TP_ACTION_LEAF_IS_CA

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

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

    • CSSM_TP_ACTION_FETCH_CERT_FROM_NET

      CSSM_TP_ACTION_FETCH_CERT_FROM_NET

      Включите выбирающие промежуточные сертификаты по сети с помощью http или LDAP.

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

    • CSSM_TP_ACTION_ALLOW_EXPIRED_ROOT

      CSSM_TP_ACTION_ALLOW_EXPIRED_ROOT

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

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

    Обсуждение

    Посмотрите SecTrustSetParameters для получения дополнительной информации о действиях.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Ключи словаря, используемые в словарях, возвращенных SecPKCS12Import функция.

    Объявление

    Swift

    var kSecImportItemLabel: Unmanaged<CFString>! var kSecImportItemKeyID: Unmanaged<CFString>! var kSecImportItemTrust: Unmanaged<CFString>! var kSecImportItemCertChain: Unmanaged<CFString>! var kSecImportItemIdentity: Unmanaged<CFString>!

    Objective C

    extern CFStringRef kSecImportItemLabel; extern CFStringRef kSecImportItemKeyID; extern CFStringRef kSecImportItemTrust; extern CFStringRef kSecImportItemCertChain; extern CFStringRef kSecImportItemIdentity;

    Константы

    • kSecImportItemLabel

      kSecImportItemLabel

      Метка элемента.

      Соответствующее значение имеет тип CFStringRef. Формат строки является определенной реализацией.

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

    • kSecImportItemKeyID

      kSecImportItemKeyID

      Ключевой ID.

      Соответствующее значение имеет тип CFDataRef. Этот уникальный идентификатор часто является обзором SHA 1 общедоступного ключа шифрования.

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

    • kSecImportItemTrust

      kSecImportItemTrust

      Доверительный объект управления.

      Соответствующее значение имеет тип SecTrustRef. Доверительная ссылка, возвращенная SecPKCS12Import функция была оценена против базовой политики X.509 и включает столь полную цепочку сертификата, как мог быть создан из сертификатов в блобе № 12 PKCS, сертификатов на цепочке для ключей и любых других сертификатов, доступных системе. Можно использовать SecTrustEvaluate функционируйте, если Вы хотите знать, завершена ли цепочка сертификата и допустима (согласно базовой политике X.509). Нет никакой гарантии, что успешно выполнится оценка.

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

    • kSecImportItemCertChain

      kSecImportItemCertChain

      Список сертификата.

      Соответствующее значение имеет тип CFArrayRef. Массив состоит из SecCertificateRef объекты для всех сертификатов в блобе № 12 PKCS. Этот список мог бы отличаться от этого в доверительном объекте управления, если существуют больше чем одни идентификационные данные в блобе или если блоб содержит дополнительные сертификаты (например, промежуточный сертификат, который еще не допустим, но мог бы быть необходим для установления законности в ближайшем будущем).

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

    • kSecImportItemIdentity

      kSecImportItemIdentity

      Объект идентификационных данных.

      Соответствующее значение имеет тип SecIdentityRef и представляет идентификационные данные, содержавшиеся в блобе № 12 PKCS.

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

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

    Объявление

    Swift

    let kSecIdentityDomainDefault: CFString! let kSecIdentityDomainKerberosKDC: CFString!

    Objective C

    const CFStringRef kSecIdentityDomainDefault; const CFStringRef kSecIdentityDomainKerberosKDC;

    Константы

    • kSecIdentityDomainDefault

      kSecIdentityDomainDefault

      Идентификационные данные по умолчанию в масштабе всей системы.

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

    • kSecIdentityDomainKerberosKDC

      kSecIdentityDomainKerberosKDC

      Идентификационные данные Центра распределения ключей (KDC) Kerberos.

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

    Обсуждение

    Эти константы могут использоваться с SecIdentitySetSystemIdentity и SecIdentityCopySystemIdentity функции.

  • Учетный тип, который будет возвращен SecKeyGetCredentials.

    Объявление

    Swift

    typealias SecCredentialType = uint32

    Objective C

    typedef uint32 SecCredentialType; enum { kSecCredentialTypeDefault = 0, kSecCredentialTypeWithUI, kSecCredentialTypeNoUI };

    Константы

    • kSecCredentialTypeDefault

      kSecCredentialTypeDefault

      Настройка по умолчанию для определения, представить ли UI, используется.

      Настройки по умолчанию могут быть изменены с вызовом к SecKeychainSetUserInteractionAllowed.

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

    • kSecCredentialTypeWithUI

      kSecCredentialTypeWithUI

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

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

    • kSecCredentialTypeNoUI

      kSecCredentialTypeNoUI

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

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

    Обсуждение

    Посмотрите раздел «Servers and the Keychain» в главе Задач OS X Keychain Services Руководства по программированию Keychain Services для получения информации об использовании UI с задачами цепочки для ключей.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    typealias SecTrustSettingsDomain = uint32

    Objective C

    enum { kSecTrustSettingsDomainUser = 0, kSecTrustSettingsDomainAdmin, kSecTrustSettingsDomainSystem }; typedef uint32 SecTrustSettingsDomain;

    Константы

    • kSecTrustSettingsDomainUser

      kSecTrustSettingsDomainUser

      Доверительные настройки в расчете на пользователя.

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

    • kSecTrustSettingsDomainAdmin

      kSecTrustSettingsDomainAdmin

      Локально администрируемые, доверительные настройки в масштабе всей системы.

      Права администратора требуются, чтобы вносить изменения в этот домен.

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

    • kSecTrustSettingsDomainSystem

      kSecTrustSettingsDomainSystem

      Системные настройки доверия.

      Эти доверительные настройки являются неизменными и включают набор доверяемых корневых сертификатов, предоставленных в OS X. Эти настройки только для чтения, даже корнем.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Позволенное использование для ключа шифрования в сертификате.

    Объявление

    Swift

    typealias SecTrustSettingsKeyUsage = uint32

    Objective C

    enum { kSecTrustSettingsKeyUseSignature = 0x00000001, kSecTrustSettingsKeyUseEnDecryptData = 0x00000002, kSecTrustSettingsKeyUseEnDecryptKey = 0x00000004, kSecTrustSettingsKeyUseSignCert = 0x00000008, kSecTrustSettingsKeyUseSignRevocation = 0x00000010, kSecTrustSettingsKeyUseKeyExchange = 0x00000020, kSecTrustSettingsKeyUseAny = 0xffffffff }; typedef uint32 SecTrustSettingsKeyUsage;

    Константы

    • kSecTrustSettingsKeyUseSignature

      kSecTrustSettingsKeyUseSignature

      Ключ может использоваться, чтобы подписать данные или заверить подпись.

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

    • kSecTrustSettingsKeyUseEnDecryptData

      kSecTrustSettingsKeyUseEnDecryptData

      Ключ может использоваться, чтобы зашифровать или дешифровать данные.

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

    • kSecTrustSettingsKeyUseEnDecryptKey

      kSecTrustSettingsKeyUseEnDecryptKey

      Ключ может использоваться, чтобы зашифровать или дешифровать (оберните или разверните), ключ.

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

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

    • kSecTrustSettingsKeyUseSignCert

      kSecTrustSettingsKeyUseSignCert

      Ключ может использоваться, чтобы подписать сертификат или заверить подпись.

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

    • kSecTrustSettingsKeyUseSignRevocation

      kSecTrustSettingsKeyUseSignRevocation

      Ключ может использоваться, чтобы подписать OCSP (онлайновый протокол состояния сертификата) сообщение или CRL (список проверки сертификата), или заверить подпись.

      Сообщения OCSP и CRLs используются для отмены сертификатов.

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

    • kSecTrustSettingsKeyUseKeyExchange

      kSecTrustSettingsKeyUseKeyExchange

      Ключ является закрытым ключом, совместно использованным с помощью ключевого протокола обмена, такого как Обмен ключами Диффи-Хеллмана.

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

    • kSecTrustSettingsKeyUseAny

      kSecTrustSettingsKeyUseAny

      Ключ может использоваться в любой цели.

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Ключи в одном ограничительном словаре использования.

    Объявление

    Objective C

    #define kSecTrustSettingsPolicy CFSTR("kSecTrustSettingsPolicy") #define kSecTrustSettingsApplication CFSTR("kSecTrustSettingsApplication") #define kSecTrustSettingsPolicyString CFSTR("kSecTrustSettingsPolicyString") #define kSecTrustSettingsKeyUsage CFSTR("kSecTrustSettingsKeyUsage") #define kSecTrustSettingsAllowedError CFSTR("kSecTrustSettingsAllowedError") #define kSecTrustSettingsResult CFSTR("kSecTrustSettingsResult")

    Константы

    • kSecTrustSettingsPolicy

      kSecTrustSettingsPolicy

      Объект политики (SecPolicyRef) указание политики проверки сертификата.

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

    • kSecTrustSettingsApplication

      kSecTrustSettingsApplication

      Доверяемая ссылка приложения (SecTrustedApplicationRef) для приложения, проверяющего доверительные настройки сертификата.

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

    • kSecTrustSettingsPolicyString

      kSecTrustSettingsPolicyString

      ACFString содержа специфичные для политики данные.

      Для политики SMIME эта строка содержит адрес электронной почты. Для политики SSL это содержит имя хоста.

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

    • kSecTrustSettingsKeyUsage

      kSecTrustSettingsKeyUsage

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

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

    • kSecTrustSettingsAllowedError

      kSecTrustSettingsAllowedError

      A CFNumber содержа SInt32 значение, указывающее a CSSM_RETURN закончитесь код, если встречено во время проверки сертификата, проигнорированный для того сертификата.

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

    • kSecTrustSettingsResult

      kSecTrustSettingsResult

      A CFNumber содержа SInt32 значение, указывающее эффективную доверительную установку для этого ограничительного словаря использования.

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

  • Эффективные доверительные настройки для ограничительных словарей использования, используемых SecTrustSettingsCopyTrustSettings и SecTrustSettingsSetTrustSettings функции.

    Объявление

    Swift

    typealias SecTrustSettingsResult = uint32

    Objective C

    enum { kSecTrustSettingsResultInvalid = 0, kSecTrustSettingsResultTrustRoot, kSecTrustSettingsResultTrustAsRoot, kSecTrustSettingsResultDeny, kSecTrustSettingsResultUnspecified }; typedef uint32 SecTrustSettingsResult;

    Константы

    • kSecTrustSettingsResultInvalid

      kSecTrustSettingsResultInvalid

      Никогда допустимый в доверительном массиве настроек или в вызове API.

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

    • kSecTrustSettingsResultTrustRoot

      kSecTrustSettingsResultTrustRoot

      Этому корневому сертификату явно доверяют.

      Если сертификат не является (самоподписанным) сертификатом корня, ограничительный словарь использования недопустим.

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

    • kSecTrustSettingsResultTrustAsRoot

      kSecTrustSettingsResultTrustAsRoot

      Этому некорневому сертификату явно доверяют, как будто это был доверяемый корень.

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

    • kSecTrustSettingsResultDeny

      kSecTrustSettingsResultDeny

      Этому сертификату явно не доверяют.

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

    • kSecTrustSettingsResultUnspecified

      kSecTrustSettingsResultUnspecified

      Этому сертификату ни не доверяют, ни не доверяют. Это значение может использоваться, чтобы указать, что «позволенная ошибка» без присвоения доверяет определенному сертификату.

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Значение, указывающее корневой сертификат по умолчанию, доверяет настройкам, когда используется для a SecCertificateRef объект в доверительной API-функции настроек.

    Объявление

    Objective C

    #define kSecTrustSettingsDefaultRootCertSetting ((SecCertificateRef)-1)

    Константы

    • kSecTrustSettingsDefaultRootCertSetting

      kSecTrustSettingsDefaultRootCertSetting

      Доверительные настройки по умолчанию для корневых сертификатов.

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

    Обсуждение

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

  • Ключи в словарных статьях, возвращенных SecCertificateCopyValues.

    Объявление

    Swift

    var kSecPropertyKeyType: Unmanaged<CFString>! var kSecPropertyKeyLabel: Unmanaged<CFString>! var kSecPropertyKeyLocalizedLabel: Unmanaged<CFString>! var kSecPropertyKeyValue: Unmanaged<CFString>!

    Objective C

    extern CFStringRef kSecPropertyKeyType; extern CFStringRef kSecPropertyKeyLabel; extern CFStringRef kSecPropertyKeyLocalizedLabel; extern CFStringRef kSecPropertyKeyValue;

    Константы

    • kSecPropertyKeyType

      kSecPropertyKeyType

      Описывает тип в описывании kSecPropertyKeyValue запись. Возможные значения описаны в Ключах Типа Свойства.

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

    • kSecPropertyKeyLabel

      kSecPropertyKeyLabel

      Метка для записи. Эта метка может содержать дескриптивную (локализованную) строку или строку OID.

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

    • kSecPropertyKeyLocalizedLabel

      kSecPropertyKeyLocalizedLabel

      Локализованная метка записи.

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

    • kSecPropertyKeyValue

      kSecPropertyKeyValue

      Значение для этой записи. Запись значения может быть любым Базовым типом Основы, но это обычно - CFStringRef, CFArrayRef или CFDictionaryRef.

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

  • Введите значения, которые могут появиться в kSecPropertyKeyType ключ в словарных статьях, возвращенных SecCertificateCopyValues.

    Объявление

    Swift

    var kSecPropertyTypeWarning: Unmanaged<CFString>! var kSecPropertyTypeSuccess: Unmanaged<CFString>! var kSecPropertyTypeSection: Unmanaged<CFString>! var kSecPropertyTypeData: Unmanaged<CFString>! var kSecPropertyTypeString: Unmanaged<CFString>! var kSecPropertyTypeURL: Unmanaged<CFString>! var kSecPropertyTypeDate: Unmanaged<CFString>! var kSecPropertyTypeTitle: Unmanaged<AnyObject>! var kSecPropertyTypeError: Unmanaged<AnyObject>!

    Objective C

    extern CFStringRef kSecPropertyTypeWarning; extern CFStringRef kSecPropertyTypeSuccess; extern CFStringRef kSecPropertyTypeSection; extern CFStringRef kSecPropertyTypeData; extern CFStringRef kSecPropertyTypeString; extern CFStringRef kSecPropertyTypeURL; extern CFStringRef kSecPropertyTypeDate; extern CFTypeRef kSecPropertyTypeTitle; extern CFTypeRef kSecPropertyTypeError;

    Константы

    • kSecPropertyTypeWarning

      kSecPropertyTypeWarning

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

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

    • kSecPropertyTypeSuccess

      kSecPropertyTypeSuccess

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

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

    • kSecPropertyTypeSection

      kSecPropertyTypeSection

      Указывает ключ, значение которого является a CFStringRef объект, описывающий имя поля в сертификате (CFSTR("Subject Name"), например).

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

    • kSecPropertyTypeData

      kSecPropertyTypeData

      Указывает ключ, значение которого является a CFDataRef объект.

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

    • kSecPropertyTypeString

      kSecPropertyTypeString

      Указывает ключ, значение которого является a CFStringRef объект, содержащий строку.

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

    • kSecPropertyTypeURL

      kSecPropertyTypeURL

      Указывает ключ, значение которого является a CFStringRef объект, содержащий URL.

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

    • kSecPropertyTypeDate

      kSecPropertyTypeDate

      Указывает ключ, значение которого является a CFStringRef объект, содержащий дату (или строка, перечисляющая байты недопустимой даты).

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

    • kSecPropertyTypeTitle

      kSecPropertyTypeTitle

      Указывает ключ, значение которого является a CFStringRef объект, содержащий заголовок (выводят на экран имя) сертификата.

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

    • kSecPropertyTypeError

      kSecPropertyTypeError

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

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

  • Константы, представляющие позволенное использование сертификата.

    Объявление

    Swift

    let kSecCertificateUsageSigning: CFString! let kSecCertificateUsageSigningAndEncrypting: CFString! let kSecCertificateUsageDeriveAndSign: CFString!

    Objective C

    extern const CFStringRef kSecCertificateUsageSigning; extern const CFStringRef kSecCertificateUsageSigningAndEncrypting; extern const CFStringRef kSecCertificateUsageDeriveAndSign;

    Константы

    • kSecCertificateUsageSigning

      kSecCertificateUsageSigning

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

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

    • kSecCertificateUsageSigningAndEncrypting

      kSecCertificateUsageSigningAndEncrypting

      Сертификат может использоваться для подписания и шифрования.

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

    • kSecCertificateUsageDeriveAndSign

      kSecCertificateUsageDeriveAndSign

      Сертификат может использоваться для подписания и для получения другого ключа.

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

  • Ключи политики, используемые SecPolicyCopyProperties и SecPolicySetProperties.

    Объявление

    Swift

    var kSecPolicyOid: Unmanaged<AnyObject>! var kSecPolicyName: Unmanaged<AnyObject>! var kSecPolicyClient: Unmanaged<AnyObject>! var kSecPolicyKU_DigitalSignature: Unmanaged<AnyObject>! var kSecPolicyKU_NonRepudiation: Unmanaged<AnyObject>! var kSecPolicyKU_KeyEncipherment: Unmanaged<AnyObject>! var kSecPolicyKU_DataEncipherment: Unmanaged<AnyObject>! var kSecPolicyKU_KeyAgreement: Unmanaged<AnyObject>! var kSecPolicyKU_KeyCertSign: Unmanaged<AnyObject>! var kSecPolicyKU_CRLSign: Unmanaged<AnyObject>! var kSecPolicyKU_EncipherOnly: Unmanaged<AnyObject>! var kSecPolicyKU_DecipherOnly: Unmanaged<AnyObject>!

    Objective C

    extern CFTypeRef kSecPolicyOid extern CFTypeRef kSecPolicyName extern CFTypeRef kSecPolicyClient extern CFTypeRef kSecPolicyKU_DigitalSignature; extern CFTypeRef kSecPolicyKU_NonRepudiation; extern CFTypeRef kSecPolicyKU_KeyEncipherment; extern CFTypeRef kSecPolicyKU_DataEncipherment; extern CFTypeRef kSecPolicyKU_KeyAgreement; extern CFTypeRef kSecPolicyKU_KeyCertSign; extern CFTypeRef kSecPolicyKU_CRLSign; extern CFTypeRef kSecPolicyKU_EncipherOnly; extern CFTypeRef kSecPolicyKU_DecipherOnly;

    Константы

    • kSecPolicyOid

      kSecPolicyOid

      Идентификатор объекта, определяющий тип политики (CFStringRef). Все политики имеют значение для этого ключа.

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

    • kSecPolicyName

      kSecPolicyName

      Имя (CFStringRef) то, что сертификат должен соответствовать для удовлетворения этой политики. Для SSL/TLS это указывает имя сервера, которое должно соответствовать общее название сертификата. Для S/MIME это указывает адрес электронной почты RFC 822.

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

    • kSecPolicyClient

      kSecPolicyClient

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

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

    • kSecPolicyKU_DigitalSignature

      kSecPolicyKU_DigitalSignature

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

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

    • kSecPolicyKU_NonRepudiation

      kSecPolicyKU_NonRepudiation

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

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

    • kSecPolicyKU_KeyEncipherment

      kSecPolicyKU_KeyEncipherment

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

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

    • kSecPolicyKU_DataEncipherment

      kSecPolicyKU_DataEncipherment

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

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

    • kSecPolicyKU_KeyAgreement

      kSecPolicyKU_KeyAgreement

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

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

    • kSecPolicyKU_KeyCertSign

      kSecPolicyKU_KeyCertSign

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

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

    • kSecPolicyKU_CRLSign

      kSecPolicyKU_CRLSign

      Если это правда, ключевое использование сертификата должно позволить ему использоваться для подписания списков аннулированных сертификатов (CRLs).

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

    • kSecPolicyKU_EncipherOnly

      kSecPolicyKU_EncipherOnly

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

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

    • kSecPolicyKU_DecipherOnly

      kSecPolicyKU_DecipherOnly

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

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

  • Доверительные флаги опции, используемые для SecTrustSetOptions.

    Объявление

    Swift

    typealias SecTrustOptionFlags = UInt32

    Objective C

    enum { kSecTrustOptionAllowExpired = 0x00000001, kSecTrustOptionLeafIsCA = 0x00000002, kSecTrustOptionFetchIssuerFromNet = 0x00000004, kSecTrustOptionAllowExpiredRoot = 0x00000008, kSecTrustOptionRequireRevPerCert = 0x00000010, kSecTrustOptionImplicitAnchors = 0x00000040 }; typedef uint32_t SecTrustOptionFlags;

    Константы

    • kSecTrustOptionAllowExpired

      kSecTrustOptionAllowExpired

      Позвольте истекшие сертификаты (за исключением корневого сертификата).

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

    • kSecTrustOptionLeafIsCA

      kSecTrustOptionLeafIsCA

      Позвольте сертификаты CA как листовые сертификаты.

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

    • kSecTrustOptionFetchIssuerFromNet

      kSecTrustOptionFetchIssuerFromNet

      Позвольте сетевые загрузки сертификатов CA.

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

    • kSecTrustOptionAllowExpiredRoot

      kSecTrustOptionAllowExpiredRoot

      Позвольте истекшие корневые сертификаты.

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

    • kSecTrustOptionRequireRevPerCert

      kSecTrustOptionRequireRevPerCert

      Потребуйте положительной проверки аннулирования на каждый сертификат.

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

    • kSecTrustOptionImplicitAnchors

      kSecTrustOptionImplicitAnchors

      Обработка должным образом самоподписала сертификаты как привязки неявно.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Поддерживаемые размеры для ключей различных общих типов.

    Объявление

    Swift

    typealias SecKeySizes = UInt32

    Objective C

    enum { kSecDefaultKeySize = 0, // Symmetric Keysizes - default is currently kSecAES128 for AES. kSec3DES192 = 192, kSecAES128 = 128, kSecAES192 = 192, kSecAES256 = 256, // Supported ECC Keys for Suite-B from RFC 4492 section 5.1.1. // default is currently kSecp256r1 kSecp192r1 = 192, kSecp256r1 = 256, kSecp384r1 = 384, kSecp521r1 = 521, // Yes, 521 // Boundaries for RSA KeySizes - default is currently 2048 // RSA keysizes must be multiples of 8 kSecRSAMin = 1024, kSecRSAMax = 4096 }; typedef uint32_t SecKeySizes;

    Константы

    • kSecDefaultKeySize

      kSecDefaultKeySize

      Размер ключа по умолчанию для указанного типа.

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

    • kSec3DES192

      kSec3DES192

      192-разрядный DES.

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

    • kSecAES128

      kSecAES128

      128-разрядный AES.

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

    • kSecAES192

      kSecAES192

      192-разрядный AES.

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

    • kSecAES256

      kSecAES256

      256-разрядный AES.

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

    • kSecp192r1

      kSecp192r1

      192-разрядные Ключи ECC для Комплекта-B от раздела RFC 4492 5.1.1.

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

    • kSecp256r1

      kSecp256r1

      256-разрядные Ключи ECC для Комплекта-B от раздела RFC 4492 5.1.1.

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

    • kSecp384r1

      kSecp384r1

      384-разрядные Ключи ECC для Комплекта-B от раздела RFC 4492 5.1.1.

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

    • kSecp521r1

      kSecp521r1

      521-разрядные Ключи ECC для Комплекта-B от раздела RFC 4492 5.1.1.

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

    • kSecRSAMin

      kSecRSAMin

      1 024 бита являются минимальным размером для ключа RSA.

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

    • kSecRSAMax

      kSecRSAMax

      4 096 битов являются максимальным размером для ключа RSA.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Специальные OIDs, заставляющие сертификат быть оцененным на основе политики безопасности, определенной для данного типа сертификата.

    Объявление

    Swift

    var kSecPolicyAppleX509Basic: Unmanaged<AnyObject>! var kSecPolicyAppleSSL: Unmanaged<AnyObject>! var kSecPolicyAppleSMIME: Unmanaged<AnyObject>! var kSecPolicyAppleEAP: Unmanaged<AnyObject>! var kSecPolicyAppleIPsec: Unmanaged<AnyObject>! var kSecPolicyApplePKINITClient: Unmanaged<AnyObject>! var kSecPolicyApplePKINITServer: Unmanaged<AnyObject>! var kSecPolicyAppleCodeSigning: Unmanaged<AnyObject>! var kSecPolicyMacAppStoreReceipt: Unmanaged<AnyObject>! var kSecPolicyAppleIDValidation: Unmanaged<AnyObject>! var kSecPolicyAppleTimeStamping: Unmanaged<AnyObject>!

    Objective C

    extern CFTypeRef kSecPolicyAppleX509Basic; extern CFTypeRef kSecPolicyAppleSSL; extern CFTypeRef kSecPolicyAppleSMIME; extern CFTypeRef kSecPolicyAppleEAP; extern CFTypeRef kSecPolicyAppleIPsec; extern CFTypeRef kSecPolicyAppleiChat extern CFTypeRef kSecPolicyApplePKINITClient; extern CFTypeRef kSecPolicyApplePKINITServer; extern CFTypeRef kSecPolicyAppleCodeSigning; extern CFTypeRef kSecPolicyMacAppStoreReceipt; extern CFTypeRef kSecPolicyAppleIDValidation; extern CFTypeRef kSecPolicyAppleTimeStamping;

    Константы

    • kSecPolicyAppleX509Basic

      kSecPolicyAppleX509Basic

      Основная оценка сертификата X509-стиля.

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

    • kSecPolicyAppleSSL

      kSecPolicyAppleSSL

      Основной X509 плюс проверка имени хоста на RFC 2818.

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

    • kSecPolicyAppleSMIME

      kSecPolicyAppleSMIME

      Основной X509 плюс проверка адреса электронной почты и KeyUsage осуществление на RFC 2632.

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

    • kSecPolicyAppleEAP

      kSecPolicyAppleEAP

      Расширяемый протокол аутентификации. Функционально идентичный политике SSL. Отдельный OID предоставлен для упрощения на политику, доверительные настройки на сертификат с помощью SecTrust механизм.

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

    • kSecPolicyAppleIPsec

      kSecPolicyAppleIPsec

      Политика для использования в коммуникации IPsec. Функционально идентичный политике SSL. Отдельный OID предоставлен для упрощения на политику, доверительные настройки на сертификат с помощью SecTrust механизм.

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

    • kSecPolicyAppleiChat

      kSecPolicyAppleiChat

      Политика для использования в iChat.

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

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

    • kSecPolicyApplePKINITClient

      kSecPolicyApplePKINITClient

      Kerberos клиентская проверка сертификата Pkinit.

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

    • kSecPolicyApplePKINITServer

      kSecPolicyApplePKINITServer

      Kerberos проверка сертификата сервера Pkinit.

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

    • kSecPolicyAppleCodeSigning

      kSecPolicyAppleCodeSigning

      Политика для использования в оценке сертификатов для подписывания кода Apple. Для узнавания больше о сертификатах для подписывания кода считайте Руководство по Распределению приложений.

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

    • kSecPolicyMacAppStoreReceipt

      kSecPolicyMacAppStoreReceipt

      Политика для использования в оценке получений App Store Mac.

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

    • kSecPolicyAppleIDValidation

      kSecPolicyAppleIDValidation

      Политика для использования в оценке Apple сертификаты ID. Для узнавания больше о Apple сертификаты ID считайте Руководство по Распределению приложений.

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

    • kSecPolicyAppleTimeStamping

      kSecPolicyAppleTimeStamping

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

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

Коды результата

Наиболее распространенные коды результата, возвращенные Сертификатом, Ключом и Trust Services, перечислены в таблице ниже. Присвоенное ошибочное пространство прерывисто: –25240..–25279 и –25290..–25329.

  • Никакая ошибка.

    Значение

    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 и позже.

  • Элемент с теми же атрибутами первичного ключа уже существует.

    Значение

    – 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

    Описание

    Взаимодействие с пользователем требуется, чтобы предоставить доступ или обработать запрос; однако, взаимодействие с пользователем с Сервером безопасности невозможно, потому что программа работает в сеансе, неспособном к графике (такой как корневой сеанс или ssh сеанс).

    Доступный в 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 и позже.

  • Список управления доступом не находится в стандартной простой форме.

    Значение

    – 25240

    Описание

    Список управления доступом не находится в стандартной простой форме.

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

  • Указанная политика не может быть найдена.

    Значение

    – 25241

    Описание

    Указанная политика не может быть найдена.

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

  • Доверительная установка недопустима.

    Значение

    – 25242

    Описание

    Доверительная установка недопустима.

    Доступный в OS X v10.2 и позже.

  • Указанный элемент не имеет никакого управления доступом.

    Значение

    – 25243

    Описание

    Указанный элемент не имеет никакого управления доступом.

    Доступный в OS X v10.2 и позже.

  • Недопустимая была предпринята попытка для изменения владельца элемента.

    Значение

    – 25244

    Описание

    Недопустимая была предпринята попытка для изменения владельца элемента.

    Доступный в OS X v10.2 и позже.

  • Никакие доверительные результаты не доступны.

    Значение

    – 25245

    Описание

    Никакие доверительные результаты не доступны.

    Доступный в OS X v10.3 и позже.

  • Неспособный декодировать предоставленные данные.

    Значение

    - 26275

    Описание

    Неспособный декодировать предоставленные данные.

    Доступный в OS X v10.6 и позже.