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

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

Разработчик

Ссылка концепции безопасности криптографическая ссылка служб синтаксиса сообщения

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

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

Криптографическая ссылка служб синтаксиса сообщения

Cryptographic Message Syntax Services является API, реализующий цифровые подписи Cryptographic Message Syntax (CMS) и шифрование для сообщений S/MIME.

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

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

Криптографическое сообщение Синтаксис определяется в RFC 3852: Cryptographic Message Syntax (CMS) (http://www .ietf.org/rfc/rfc3852.txt).

S/MIME определяется в RFC 3851: Безопасные / Многоцелевые расширения почты в Интернете (S/MIME) сообщение Версии 3.1 Спецификация (http://www .ietf.org/rfc/rfc3851.txt)

Функции

  • Создает ссылку CMSEncoder.

    Объявление

    Swift

    func CMSEncoderCreate(_ cmsEncoderOut: UnsafeMutablePointer<Unmanaged<CMSEncoder>?>) -> OSStatus

    Objective C

    OSStatus CMSEncoderCreate ( CMSEncoderRef *cmsEncoderOut );

    Параметры

    cmsEncoderOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    CMSEncode

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

    Объявление

    Swift

    func CMSEncoderGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CMSEncoderGetTypeID ( void );

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает подписывающие лица сообщения.

    Объявление

    Swift

    func CMSEncoderAddSigners(_ cmsEncoder: CMSEncoder!, _ signerOrArray: AnyObject!) -> OSStatus

    Objective C

    OSStatus CMSEncoderAddSigners ( CMSEncoderRef cmsEncoder, CFTypeRef signerOrArray );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    signerOrArray

    Объект идентификационных данных для идентификационных данных одного подписывающего лица, указанного как тип SecIdentityRef, или a CFArray из объектов идентификационных данных типаSecIdentityRef.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSEncoderCopySigners(_ cmsEncoder: CMSEncoder!, _ signersOut: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus CMSEncoderCopySigners ( CMSEncoderRef cmsEncoder, CFArrayRef *signersOut );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    signersOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSEncoderAddRecipients(_ cmsEncoder: CMSEncoder!, _ recipientOrArray: AnyObject!) -> OSStatus

    Objective C

    OSStatus CMSEncoderAddRecipients ( CMSEncoderRef cmsEncoder, CFTypeRef recipientOrArray );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    recipientOrArray

    Любой единственный сертификат, содержащий общедоступный ключ шифрования для одного получателя сообщения, указанного как объект сертификата (тип SecCertificateRef), или ряд сертификатов, указанных как a CFArray из объектов сертификата.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSEncoderCopyRecipients(_ cmsEncoder: CMSEncoder!, _ recipientsOut: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus CMSEncoderCopyRecipients ( CMSEncoderRef cmsEncoder, CFArrayRef *recipientsOut );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    recipientsOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает, должны ли данные со знаком быть отдельными от сообщения.

    Объявление

    Swift

    func CMSEncoderSetHasDetachedContent(_ cmsEncoder: CMSEncoder!, _ detachedContent: Boolean) -> OSStatus

    Objective C

    OSStatus CMSEncoderSetHasDetachedContent ( CMSEncoderRef cmsEncoder, Boolean detachedContent );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    detachedContent

    Указать TRUE если данные со знаком должны быть отдельными от сообщения;. т.е. которые будут подписаны, isnot для включения данных если сообщение

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    Сообщение CMS со знаком может дополнительно быть отправлено отдельно от данных со знаком. Значение по умолчанию, если эта функция не вызвана, detachedContent=FALSE; т.е. сообщение содержит данные, которые будут подписаны.

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает, должно ли сообщение отсоединить содержание.

    Объявление

    Swift

    func CMSEncoderGetHasDetachedContent(_ cmsEncoder: CMSEncoder!, _ detachedContentOut: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus CMSEncoderGetHasDetachedContent ( CMSEncoderRef cmsEncoder, Boolean *detachedContentOut );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    detachedContentOut

    Возвраты TRUE если сообщение отсоединило содержание.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    Эта функция возвращает значение, указанное в CMSEncoderSetHasDetachedContent если была вызвана та функция; иначе это возвращается FALSE.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает идентификатор объекта для инкапсулированных данных сообщения со знаком.

    Объявление

    Swift

    func CMSEncoderSetEncapsulatedContentTypeOID(_ cmsEncoder: CMSEncoder!, _ eContentTypeOID: AnyObject!) -> OSStatus

    Objective C

    OSStatus CMSEncoderSetEncapsulatedContentTypeOID ( CMSEncoderRef cmsEncoder, CFTypeRef eContentTypeOID );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    eContentTypeOID

    Идентификатор объекта для инкапсулированных данных в сообщении со знаком.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    В сообщении со знаком данные со знаком состоят из любого типа содержания (называемый инкапсулированным содержанием, потому что это инкапсулируется в данных со знаком) плюс значения подписи. Можно указать тип контента инкапсулированных данных путем указания идентификатора объекта (OID) в eContentTypeOID параметр этой функции, в форме Базовой строки Основы —CFSTR("1.2.840.113549.1.7.1"), например.

    Значение по умолчанию для OID (используемый, если эта функция не вызвана) id-data. Это - нормальный инкапсулированный тип контента для приложений, таких как S/MIME, использующий его для указания закодированного MIME содержания. Можно передать любое значение, которое значимо для приложения. Примеры CMS OIDs перечислены в http://www .imc.org/ietf-smime/other-smime-oids.asn.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает идентификатор объекта для инкапсулированных данных сообщения со знаком.

    Объявление

    Swift

    func CMSEncoderSetEncapsulatedContentType(_ cmsEncoder: CMSEncoder!, _ eContentType: UnsafePointer<CSSM_OID>) -> OSStatus

    Objective C

    OSStatus CMSEncoderSetEncapsulatedContentType ( CMSEncoderRef cmsEncoder, const CSSM_OID *eContentType );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    eContentType

    Идентификатор объекта для инкапсулированных данных в сообщении со знаком.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    В сообщении со знаком данные со знаком состоят из любого типа содержания (называемый инкапсулированным содержанием, потому что это инкапсулируется в данных со знаком) плюс значения подписи. Можно указать тип контента инкапсулированных данных путем указания идентификатора объекта (OID) в eContentType параметр этой функции. Значение по умолчанию для OID (используемый, если эта функция не вызвана) id-data. Это - нормальный инкапсулированный тип контента для приложений, таких как S/MIME, использующий его для указания закодированного MIME содержания. Можно передать любое значение, которое значимо для приложения. Примеры CMS OIDs перечислены в http://www .imc.org/ietf-smime/other-smime-oids.asn.

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

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

    Использовать CMSEncoderSetEncapsulatedContentTypeOID для новой разработки.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSEncoderCopyEncapsulatedContentType(_ cmsEncoder: CMSEncoder!, _ eContentTypeOut: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus CMSEncoderCopyEncapsulatedContentType ( CMSEncoderRef cmsEncoder, CFDataRef *eContentTypeOut );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    eContentTypeOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

    Если CMSEncoderSetEncapsulatedContentType функция не была вызвана для этого сообщения, эта функция возвращает a NULL указатель.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Добавляют сертификаты сообщению.

    Объявление

    Swift

    func CMSEncoderAddSupportingCerts(_ cmsEncoder: CMSEncoder!, _ certOrArray: AnyObject!) -> OSStatus

    Objective C

    OSStatus CMSEncoderAddSupportingCerts ( CMSEncoderRef cmsEncoder, CFTypeRef certOrArray );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    certOrArray

    Любой единственный сертификат, указанный как объект сертификата (тип SecCertificateRef), или ряд сертификатов, указанных как a CFArray из объектов сертификата.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

    Даже если Вы не подписываете или шифруете сообщение для переноса одного или более сертификатов, можно использовать эту функцию. Для этого вызовите CMSEncoderCreate получить a CMSEncoderRef ссылка, вызвать CMSEncoderAddSupportingCerts один или несколько раз, и затем вызовите CMSEncoderCopyEncodedContent завершать сообщение. Никакое дополнительное довольное потребность быть указанным.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает сертификаты, добавленные к сообщению с CMSEncoderAddSupportingCerts.

    Объявление

    Swift

    func CMSEncoderCopySupportingCerts(_ cmsEncoder: CMSEncoder!, _ certsOut: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus CMSEncoderCopySupportingCerts ( CMSEncoderRef cmsEncoder, CFArrayRef *certsOut );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    certsOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    Сообщение CMS может содержать произвольные наборы сертификатов кроме или в дополнение к тем, которые указывают идентификационные данные подписывающих лиц. Можно использовать эту функцию для получения любых таких сертификатов, добавленных с CMSEncoderAddSupportingCerts функция. Если CMSEncoderAddSupportingCerts не был вызван, эта функция возвращает a NULL значение для certsOut. Обратите внимание на то, что эта функция не возвращает сертификаты подписания, если таковые имеются.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает атрибуты для сообщения со знаком.

    Объявление

    Swift

    func CMSEncoderAddSignedAttributes(_ cmsEncoder: CMSEncoder!, _ signedAttributes: CMSSignedAttributes) -> OSStatus

    Objective C

    OSStatus CMSEncoderAddSignedAttributes ( CMSEncoderRef cmsEncoder, CMSSignedAttributes signedAttributes );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    signedAttributes

    Атрибут отмечает, как определено в Атрибутах Для сообщений Со знаком.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    Атрибуты являются дополнительными для сообщений со знаком. Они не используются для других типов сообщений CMS. Использование атрибутов описано в разделе 2.5 из спецификации S/MIME 3.1.

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает, какие сертификаты включать в CMS со знаком обмениваются сообщениями.

    Объявление

    Swift

    func CMSEncoderSetCertificateChainMode(_ cmsEncoder: CMSEncoder!, _ chainMode: CMSCertificateChainMode) -> OSStatus

    Objective C

    OSStatus CMSEncoderSetCertificateChainMode ( CMSEncoderRef cmsEncoder, CMSCertificateChainMode chainMode );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    chainMode

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает константу, указывающую, какие сертификаты должны быть включены в сообщение CMS со знаком.

    Объявление

    Swift

    func CMSEncoderGetCertificateChainMode(_ cmsEncoder: CMSEncoder!, _ chainMode: UnsafeMutablePointer<CMSCertificateChainMode>) -> OSStatus

    Objective C

    OSStatus CMSEncoderGetCertificateChainMode ( CMSEncoderRef cmsEncoder, CMSCertificateChainMode *chainModeOut );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    chainMode

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Байты содержания подачи в кодер.

    Объявление

    Swift

    func CMSEncoderUpdateContent(_ cmsEncoder: CMSEncoder!, _ content: UnsafePointer<Void>, _ contentLen: UInt) -> OSStatus

    Objective C

    OSStatus CMSEncoderUpdateContent ( CMSEncoderRef cmsEncoder, const void *content, size_t contentLen );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    content

    Содержание, которое Вы хотите добавить к сообщению. Содержание должно соответствовать набору типа с CMSEncoderSetEncapsulatedContentType функция (или тип id-data если та функция не была вызвана).

    contentLen

    Длина добавляемого содержания, в байтах.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

    Ни одна из функций метода set (CMSEncoderSetHasDetachedContent, CMSEncoderSetEncapsulatedContentType, или CMSEncoderSetCertificateChainMode) может быть вызван после того, как эта функция была вызвана.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSEncoderCopyEncodedContent(_ cmsEncoder: CMSEncoder!, _ encodedContentOut: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus CMSEncoderCopyEncodedContent ( CMSEncoderRef cmsEncoder, CFDataRef *encodedContentOut );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    encodedContentOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    CMSEncoderCreate
    CMSEncode

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

    Объявление

    Swift

    func CMSEncodeContent(_ signers: AnyObject!, _ recipients: AnyObject!, _ eContentTypeOID: AnyObject!, _ detachedContent: Boolean, _ signedAttributes: CMSSignedAttributes, _ content: UnsafePointer<Void>, _ contentLen: UInt, _ encodedContentOut: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus CMSEncodeContent ( CFTypeRef signers, CFTypeRef recipients, CFTypeRef eContentTypeOID, Boolean detachedContent, CMSSignedAttributes signedAttributes, const void *content, size_t contentLen, CFDataRef *encodedContentOut );

    Параметры

    signers

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

    recipients

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

    eContentTypeOID

    Идентификатор объекта для инкапсулированных данных в сообщении со знаком, в форме Базовой строки Основы —CFSTR("1.2.840.113549.1.7.1"), например.

    Этот параметр является дополнительным. Если Вы передаете NULL, значение id-data используется. (Это - нормальный инкапсулированный тип контента для приложений, таких как S/MIME, использующий его для указания закодированного MIME содержания.) Можно передать любое значение, которое значимо для приложения.

    detachedContent

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

    signedAttributes

    Атрибут отмечает, как определено в Атрибутах Для сообщений Со знаком. Атрибуты являются дополнительными для сообщений со знаком и не используются в других типах сообщений CMS. Использование атрибутов описано в разделе 2.5 из спецификации S/MIME 3.1.

    content

    Содержание, которое Вы хотите добавить к сообщению. Содержание должно соответствовать типу, начинаются CMSEncoderSetEncapsulatedContentType параметр (или тип id-data если та функция не была вызвана).

    contentLen

    Длина добавляемого содержания, в байтах.

    encodedContentOut

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

    Обсуждение

    При использовании этой функции необходимо включать содержание, и необходимо обеспечить допустимый не -NULL ввод для по крайней мере одного из signers и recipients параметры. Можно и зашифровать и подписать сообщение; однако, Вы не можете использовать отсоединенное содержание с зашифрованным сообщением. Если Вы хотите создать сообщение, содержащее сертификаты и никакое другое содержание, необходимо использовать CMSEncoderAddSupportingCerts функция вместо этого. Для получения большего количества контроля над процессом кодирования сообщения вызовите последовательность функций, начинающихся CMSEncoderCreate функция вместо этого.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSEncode(_ signers: AnyObject!, _ recipients: AnyObject!, _ eContentType: UnsafePointer<CSSM_OID>, _ detachedContent: Boolean, _ signedAttributes: CMSSignedAttributes, _ content: UnsafePointer<Void>, _ contentLen: UInt, _ encodedContentOut: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus CMSEncode ( CFTypeRef signers, CFTypeRef recipients, const CSSM_OID *eContentType, Boolean detachedContent, CMSSignedAttributes signedAttributes, const void *content, size_t contentLen, CFDataRef *encodedContentOut );

    Параметры

    signers

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

    recipients

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

    eContentType

    Идентификатор объекта для инкапсулированных данных в сообщении со знаком. Этот параметр является дополнительным. Если Вы передаете 0, значение id-data используется. (Это - нормальный инкапсулированный тип контента для приложений, таких как S/MIME, использующий его для указания закодированного MIME содержания.) Можно передать любое значение, которое значимо для приложения.

    detachedContent

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

    signedAttributes

    Атрибут отмечает, как определено в Атрибутах Для сообщений Со знаком. Атрибуты являются дополнительными для сообщений со знаком и не используются в других типах сообщений CMS. Использование атрибутов описано в разделе 2.5 из спецификации S/MIME 3.1.

    content

    Содержание, которое Вы хотите добавить к сообщению. Содержание должно соответствовать типу, начинаются CMSEncoderSetEncapsulatedContentType параметр (или тип id-data если та функция не была вызвана).

    contentLen

    Длина добавляемого содержания, в байтах.

    encodedContentOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    При использовании этой функции необходимо включать содержание, и необходимо обеспечить допустимый не -NULL ввод для по крайней мере одного из signers и recipients параметры. Можно и зашифровать и подписать сообщение; однако, Вы не можете использовать отсоединенное содержание с зашифрованным сообщением. Если Вы хотите создать сообщение, содержащее сертификаты и никакое другое содержание, необходимо использовать CMSEncoderAddSupportingCerts функция вместо этого. Для получения большего количества контроля над процессом кодирования сообщения вызовите последовательность функций, начинающихся CMSEncoderCreate функция вместо этого.

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

    Использовать CMSEncodeContent для новой разработки.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Создает ссылку CMSDecoder.

    Объявление

    Swift

    func CMSDecoderCreate(_ cmsDecoderOut: UnsafeMutablePointer<Unmanaged<CMSDecoder>?>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCreate ( CMSDecoderRef *cmsDecoderOut );

    Параметры

    cmsDecoderOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

    См. также

    CMSDecoderUpdateMessage

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

    Объявление

    Swift

    func CMSDecoderGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CMSDecoderGetTypeID ( void );

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Байты сырых данных подачи сообщения, которое будет декодироваться в декодер.

    Объявление

    Swift

    func CMSDecoderUpdateMessage(_ cmsDecoder: CMSDecoder!, _ msgBytes: UnsafePointer<Void>, _ msgBytesLen: UInt) -> OSStatus

    Objective C

    OSStatus CMSDecoderUpdateMessage ( CMSDecoderRef cmsDecoder, const void *msgBytes, size_t msgBytesLen );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    msgBytes

    Указатель на данные, которые будут декодироваться.

    msgBytesLen

    Длина данных, в байтах.

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

    Код результата. Возвраты errSecUnknownFormat после обнаружения неправильно отформатированного сообщения CMS. Посмотрите Криптографические Коды Результата Служб сообщений для других кодов результата.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает, что больше нет данных для декодирования.

    Объявление

    Swift

    func CMSDecoderFinalizeMessage(_ cmsDecoder: CMSDecoder!) -> OSStatus

    Objective C

    OSStatus CMSDecoderFinalizeMessage ( CMSDecoderRef cmsDecoder );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

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

    Код результата. Возвраты errSecUnknownFormat после обнаружения неправильно отформатированного сообщения CMS. Посмотрите Криптографические Коды Результата Служб сообщений для других кодов результата.

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Указывает отдельное содержание сообщения, если таковые имеются.

    Объявление

    Swift

    func CMSDecoderSetDetachedContent(_ cmsDecoder: CMSDecoder!, _ detachedContent: CFData!) -> OSStatus

    Objective C

    OSStatus CMSDecoderSetDetachedContent ( CMSDecoderRef cmsDecoder, CFDataRef detachedContent );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    detachedContent

    Ссылка на отдельное содержание сообщения.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

    Можно вызвать эту функцию или прежде или после декодирования сообщения (путем вызова CMSDecoderUpdateMessage и CMSDecoderFinalizeMessage функции). Если сообщение со знаком отсоединило содержание, однако, необходимо вызвать эту функцию, прежде чем можно будет использовать CMSDecoderCopySignerStatus функция для установления состояния подписи.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает отдельное содержание, указанное с CMSDecoderSetDetachedContent функция.

    Объявление

    Swift

    func CMSDecoderCopyDetachedContent(_ cmsDecoder: CMSDecoder!, _ detachedContentOut: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopyDetachedContent ( CMSDecoderRef cmsDecoder, CFDataRef *detachedContentOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    detachedContentOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSDecoderSetSearchKeychain(_ cmsDecoder: CMSDecoder!, _ keychainOrArray: AnyObject!) -> OSStatus

    Objective C

    OSStatus CMSDecoderSetSearchKeychain ( CMSDecoderRef cmsDecoder, CFTypeRef keychainOrArray );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    keychainOrArray

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает число подписывающих лиц сообщения.

    Объявление

    Swift

    func CMSDecoderGetNumSigners(_ cmsDecoder: CMSDecoder!, _ numSignersOut: UnsafeMutablePointer<UInt>) -> OSStatus

    Objective C

    OSStatus CMSDecoderGetNumSigners ( CMSDecoderRef cmsDecoder, size_t *numSignersOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    numSignersOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    Вызовите CMSDecoderCopySignerStatus функция для определения состояния подписи.

    Вы не можете вызвать эту функцию после вызова CMSDecoderFinalizeMessage функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает состояние подписи сообщения CMS.

    Объявление

    Swift

    func CMSDecoderCopySignerStatus(_ cmsDecoder: CMSDecoder!, _ signerIndex: UInt, _ policyOrArray: AnyObject!, _ evaluateSecTrust: Boolean, _ signerStatusOut: UnsafeMutablePointer<CMSSignerStatus>, _ secTrustOut: UnsafeMutablePointer<Unmanaged<SecTrust>?>, _ certVerifyResultCodeOut: UnsafeMutablePointer<OSStatus>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopySignerStatus ( CMSDecoderRef cmsDecoder, size_t signerIndex, CFTypeRef policyOrArray, Boolean evaluateSecTrust, CMSSignerStatus *signerStatusOut, SecTrustRef *secTrustOut, OSStatus *certVerifyResultCodeOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    signerIndex

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

    policyOrArray

    Доверительная политика или политики, которые будут использоваться для проверки сертификата подписывающего лица. Можно указать любого сингл SecPolicyRef объект или a CFArray из SecPolicyRef объекты. Доверительные политики обсуждены в Сертификате, Ключе и Понятиях Trust Services в Сертификате, Ключе и Руководстве по программированию Trust Services.

    evaluateSecTrust

    Набор к TRUE заставить декодер вызывать SecTrustEvaluate функция для оценки SecTrust объект создается для оценки сертификата подписывающего лица. Набор к FALSE если Вы намереваетесь вызвать SecTrustEvaluate функция для SecTrust объект, возвращенный secTrustOut параметр.

    signerStatusOut

    Если Вы указываете TRUE для evaluateSecTrust параметр, по возврату этот параметр указывает состояние подписи. Посмотрите Константы Состояния Подписи для возможных результатов. Передача в NULL если Вы не хотите возвращенное значение.

    secTrustOut

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

    certVerifyResultCodeOut

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

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

    CSSMERR_TP_INVALID_ANCHOR_CERT

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

    CSSMERR_TP_NOT_TRUSTED

    Сертификат не мог быть проверен назад к корневому сертификату.

    CSSMERR_TP_VERIFICATION_FAILURE

    Корневой сертификат привел проверку к сбою.

    CSSMERR_TP_VERIFY_ACTION_FAILED

    Доверительные отношения не могли быть установлены согласно указанной доверительной политике.

    CSSMERR_TP_INVALID_CERTIFICATE

    Листовой сертификат подписывающего лица не был допустим.

    CSSMERR_TP_CERT_EXPIRED

    Сертификат в цепочке истек во время проверки.

    CSSMERR_TP_CERT_NOT_VALID_YET

    Сертификат в цепочке еще не был допустим во время проверки.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений. Результат noErr указывает только, что функция завершилась успешно; это не указывает, что подпись заверена, или сертификаты допустимы. Посмотрите signerStatusOut и certVerifyResultCodeOut параметры для проверки и результатов проверки сертификата.

    Обсуждение

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

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

    Если Вы оба передача в FALSE для evaluateSecTrust параметр и NULL для secTrustOut параметр, никакая оценка сертификата подписывающего лица не может произойти.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSDecoderCopySignerEmailAddress(_ cmsDecoder: CMSDecoder!, _ signerIndex: UInt, _ signerEmailAddressOut: UnsafeMutablePointer<Unmanaged<CFString>?>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopySignerEmailAddress ( CMSDecoderRef cmsDecoder, size_t signerIndex, CFStringRef *signerEmailAddressOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    signerIndex

    Число, указывающее, который адрес электронной почты подписывающего лица возвратиться. Индексы подписывающего лица запускаются с 0. Используйте CMSDecoderGetNumSigners функция для определения общего количества подписывающих лиц для сообщения.

    signerEmailAddressOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений. Возвраты paramErr (–50) если сообщение CMS не было подписано или если signerIndex больше, чем число подписывающих лиц сообщения минус одно (signerIndex > (numSigners – 1)).

    Обсуждение

    Вы не можете вызвать эту функцию после вызова CMSDecoderFinalizeMessage функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSDecoderCopySignerCert(_ cmsDecoder: CMSDecoder!, _ signerIndex: UInt, _ signerCertOut: UnsafeMutablePointer<Unmanaged<SecCertificate>?>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopySignerCert ( CMSDecoderRef cmsDecoder, size_t signerIndex, SecCertificateRef *signerCertOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    signerIndex

    Число, указывающее, который адрес электронной почты подписывающего лица возвратиться. Индексы подписывающего лица запускаются с 0. Используйте CMSDecoderGetNumSigners функция для определения общего количества подписывающих лиц для сообщения.

    signerCertOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений. Возвраты paramErr (–50) если сообщение CMS не было подписано или если signerIndex больше, чем число подписывающих лиц сообщения минус одно (signerIndex> (numSigners – 1)).

    Обсуждение

    Вы не можете вызвать эту функцию после вызова CMSDecoderFinalizeMessage функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Определяет, было ли зашифровано сообщение CMS.

    Объявление

    Swift

    func CMSDecoderIsContentEncrypted(_ cmsDecoder: CMSDecoder!, _ isEncryptedOut: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus CMSDecoderIsContentEncrypted ( CMSDecoderRef cmsDecoder, Boolean *isEncryptedOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    isEncryptedOut

    Возвраты TRUE если было зашифровано сообщение.

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

    Вы не можете вызвать эту функцию после вызова CMSDecoderFinalizeMessage функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSDecoderCopyEncapsulatedContentType(_ cmsDecoder: CMSDecoder!, _ eContentTypeOut: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopyEncapsulatedContentType ( CMSDecoderRef cmsDecoder, CFDataRef *eContentTypeOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    eContentTypeOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    В сообщении со знаком данные со знаком состоят из любого типа содержания (называемый инкапсулированным содержанием, потому что это инкапсулируется в данных со знаком) плюс значения подписи. Тип контента инкапсулированных данных обозначен идентификатором объекта. Значение по умолчанию для OID id-data, который указывает закодированное MIME содержание.

    Вы не можете вызвать эту функцию после вызова CMSDecoderFinalizeMessage функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSDecoderCopyAllCerts(_ cmsDecoder: CMSDecoder!, _ certsOut: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopyAllCerts ( CMSDecoderRef cmsDecoder, CFArrayRef *certsOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    certsOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

    Сообщение CMS может содержать произвольные наборы сертификатов кроме или в дополнение к тем, которые указывают идентификационные данные подписывающих лиц. Можно использовать эту функцию для получения таких сертификатов из сообщения. Если сообщение было подписано, оно содержит сертификаты подписывающего лица. Можно использовать CMSDecoderGetNumSigners и CMSDecoderCopySignerCert функции для получения сертификатов для определенного подписывающего лица.

    Вы не можете вызвать эту функцию после вызова CMSDecoderFinalizeMessage функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSDecoderCopyContent(_ cmsDecoder: CMSDecoder!, _ contentOut: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopyContent ( CMSDecoderRef cmsDecoder, CFDataRef *contentOut );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    contentOut

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

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

    Код результата. Посмотрите Криптографические Коды Результата Служб сообщений.

    Обсуждение

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

    Вы не можете вызвать эту функцию после вызова CMSDecoderFinalizeMessage функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Получает время подписания сообщения CMS, если существующий.

    Объявление

    Swift

    func CMSDecoderCopySignerSigningTime(_ cmsDecoder: CMSDecoder!, _ signerIndex: UInt, _ signingTime: UnsafeMutablePointer<CFAbsoluteTime>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopySignerSigningTime ( CMSDecoderRef cmsDecoder, size_t signerIndex, CFAbsoluteTime *signingTime );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    signerIndex

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

    signingTime

    Адрес абсолютной временной стоимости, где должен быть сохранен результат.

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

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

    Обсуждение

    Метка времени является неаутентифицируемым временем, несмотря на то, что это - часть атрибутов со знаком сообщения.

    Необходимо вызвать CMSDecoderFinalizeMessage прежде чем Вы вызовете эту функцию.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSDecoderCopySignerTimestamp(_ cmsDecoder: CMSDecoder!, _ signerIndex: UInt, _ timestamp: UnsafeMutablePointer<CFAbsoluteTime>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopySignerTimestamp ( CMSDecoderRef cmsDecoder, size_t signerIndex, CFAbsoluteTime *timestamp );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    signerIndex

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

    timestamp

    Адрес абсолютной временной стоимости, где должен быть сохранен результат.

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

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

    Обсуждение

    Эта метка времени является аутентифицируемой меткой времени, предоставленной полномочиями добавления метки времени.

    Необходимо вызвать CMSDecoderFinalizeMessage прежде чем Вы вызовете эту функцию.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Возвращает массив, содержащий сертификаты от ответа метки времени.

    Объявление

    Swift

    func CMSDecoderCopySignerTimestampCertificates(_ cmsDecoder: CMSDecoder!, _ signerIndex: UInt, _ certificateRefs: UnsafeMutablePointer<Unmanaged<CFArray>?>) -> OSStatus

    Objective C

    OSStatus CMSDecoderCopySignerTimestampCertificates ( CMSDecoderRef cmsDecoder, size_t signerIndex, CFArrayRef *certificateRefs );

    Параметры

    cmsDecoder

    Ссылка CMSDecoder, возвращенная CMSDecoderCreate функция.

    signerIndex

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

    certificateRefs

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

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

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

    Обсуждение

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

    Необходимо вызвать CMSDecoderFinalizeMessage прежде чем Вы вызовете эту функцию.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    func CMSEncoderCopySignerTimestamp(_ cmsEncoder: CMSEncoder!, _ signerIndex: UInt, _ timestamp: UnsafeMutablePointer<CFAbsoluteTime>) -> OSStatus

    Objective C

    OSStatus CMSEncoderCopySignerTimestamp ( CMSEncoderRef cmsEncoder, size_t signerIndex, CFAbsoluteTime *timestamp );

    Параметры

    cmsEncoder

    Ссылка CMSEncoder, возвращенная CMSEncoderCreate функция.

    signerIndex

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

    timestamp

    Адрес абсолютной временной стоимости, где должен быть сохранен результат.

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

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

    Обсуждение

    Эта метка времени является аутентифицируемой меткой времени, предоставленной полномочиями добавления метки времени.

    Необходимо вызвать CMSDecoderFinalizeMessage прежде чем Вы вызовете эту функцию.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

Типы данных

  • Непрозрачная ссылка на объект кодера CMS.

    Объявление

    Swift

    typealias CMSEncoderRef = CMSEncoder

    Objective C

    typedef struct _CMSEncoder *CMSEncoderRef;

    Обсуждение

    Это - объект, совместимо с Базовой Основой и использует стандартную Базовую семантику Основы. Избавьтесь от него с CFRelease функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Непрозрачная ссылка на объект декодера CMS.

    Объявление

    Swift

    typealias CMSDecoderRef = CMSDecoder

    Objective C

    typedef struct _CMSDecoder *CMSDecoderRef;

    Обсуждение

    Это - объект, совместимо с Базовой Основой и использует стандартную Базовую семантику Основы. Избавьтесь от него с CFRelease функция.

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

Константы

  • Дополнительные атрибуты, которые могут быть указаны с CMSEncoderAddSignedAttributes функция.

    Объявление

    Swift

    typealias CMSSignedAttributes = UInt32

    Objective C

    enum { kCMSAttrNone = 0x0000, kCMSAttrSmimeCapabilities = 0x0001, kCMSAttrSmimeEncryptionKeyPrefs = 0x0002, kCMSAttrSmimeMSEncryptionKeyPrefs = 0x0004, kCMSAttrSigningTime = 0x0008 }; typedef uint32_t CMSSignedAttributes;

    Константы

    • kCMSAttrNone

      kCMSAttrNone

      Никакие атрибуты.

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

    • kCMSAttrSmimeCapabilities

      kCMSAttrSmimeCapabilities

      Добавляет информация к сообщению со знаком, идентифицирующему подпись, шифрование и алгоритмы выборки сообщений, поддерживаемые кодером. Добавление этого атрибута не изменяет путь, которым кодируется сообщение. Посмотрите RFC 2311: раздел S/MIME Version 2 Message Specification (http://www .ietf.org/rfc/rfc2311.txt) 2.5.2 для получения дополнительной информации об атрибуте возможностей.

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

    • kCMSAttrSmimeEncryptionKeyPrefs

      kCMSAttrSmimeEncryptionKeyPrefs

      Указывает, что сертификат подписания, включенный с сообщением, является предпочтительным для шифрования S/MIME.

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

    • kCMSAttrSmimeMSEncryptionKeyPrefs

      kCMSAttrSmimeMSEncryptionKeyPrefs

      То же как kCMSSmimeEncryptionKeyPrefs, использование идентификатора объекта атрибута (OID) предпочтено Microsoft.

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

    • kCMSAttrSigningTime

      kCMSAttrSigningTime

      Заставляет кодер включать время подписания.

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

    Обсуждение

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

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

    Объявление

    Swift

    typealias CMSCertificateChainMode = UInt32

    Objective C

    enum { kCMSCertificateNone = 0, kCMSCertificateSignerOnly, kCMSCertificateChain, kCMSCertificateChainWithRoot }; typedef uint32_t CMSCertificateChainMode;

    Константы

    • kCMSCertificateNone

      kCMSCertificateNone

      Не включайте сертификаты.

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

    • kCMSCertificateSignerOnly

      kCMSCertificateSignerOnly

      Только включайте сертификаты подписывающего лица.

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

    • kCMSCertificateChain

      kCMSCertificateChain

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

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

    • kCMSCertificateChainWithRoot

      kCMSCertificateChainWithRoot

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

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

  • Константы, указывающие состояние подписи и информации о подписывающем лице в сообщении со знаком, как получено CMSDecoderCopySignerStatus функция.

    Объявление

    Swift

    typealias CMSSignerStatus = UInt32

    Objective C

    enum { kCMSSignerUnsigned = 0, kCMSSignerValid, kCMSSignerNeedsDetachedContent, kCMSSignerInvalidSignature, kCMSSignerInvalidCert, kCMSSignerInvalidIndex }; typedef uint32_t CMSSignerStatus;

    Константы

    • kCMSSignerUnsigned

      kCMSSignerUnsigned

      Сообщение не было подписано.

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

    • kCMSSignerValid

      kCMSSignerValid

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

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

    • kCMSSignerNeedsDetachedContent

      kCMSSignerNeedsDetachedContent

      Сообщение было подписано, но отсоединило содержание. Необходимо вызвать CMSDecoderSetDetachedContent функция прежде, чем установить состояние подписи.

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

    • kCMSSignerInvalidSignature

      kCMSSignerInvalidSignature

      Сообщение было подписано, но подпись недопустима.

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

    • kCMSSignerInvalidCert

      kCMSSignerInvalidCert

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

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

    • kCMSSignerInvalidIndex

      kCMSSignerInvalidIndex

      Указанное значение для индекса подписывающего лица (signerIndex параметр), больше, чем число подписывающих лиц сообщения минус одно (signerIndex > (numSigners – 1)).

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

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

    Objective C

    @import Security;

    Swift

    import Security

    Доступность

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

Коды результата

Безопасность коды результата API определена в Security/Secbase.h и перечислена в таблице ниже. Присвоенное ошибочное пространство для безопасности APIs прерывисто: –25240 до –25279 и –25290 до –25329. Безопасность APIs может также возвратиться noErr (0) или paramErr (–50), или коды результата CSSM (см. Коллективную безопасность: CDSA и CSSM, версия 2 (с исправлениями) от Open Group (http://www .opengroup.org/security/cdsa.htm)).

  • Никакие доверительные результаты не доступны.

    Значение

    – 25291

    Описание

    Никакие доверительные результаты не доступны.

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

  • Ошибка только для чтения.

    Значение

    – 25292

    Описание

    Ошибка только для чтения.

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

  • Авторизация/Аутентификация перестала работать.

    Значение

    – 25293

    Описание

    Авторизация/Аутентификация перестала работать.

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

  • Цепочка для ключей не существует.

    Значение

    – 25294

    Описание

    Цепочка для ключей не существует.

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

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

    Значение

    – 25295

    Описание

    Цепочка для ключей не допустима.

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

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

    Значение

    – 25296

    Описание

    Цепочка для ключей с тем же именем уже существует.

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

  • Больше чем один обратный вызов того же имени существует.

    Значение

    – 25297

    Описание

    Больше чем один обратный вызов того же имени существует.

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

  • Обратный вызов не допустим.

    Значение

    – 25298

    Описание

    Обратный вызов не допустим.

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

  • Элемент уже существует.

    Значение

    – 25299

    Описание

    Элемент уже существует.

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

  • Элемент не может быть найден.

    Значение

    – 25300

    Описание

    Элемент не может быть найден.

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

  • Буфер является слишком маленьким.

    Значение

    – 25301

    Описание

    Буфер является слишком маленьким.

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

  • Данные являются слишком большими для определенного типа данных.

    Значение

    – 25302

    Описание

    Данные являются слишком большими для определенного типа данных.

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

  • Атрибут не существует.

    Значение

    – 25303

    Описание

    Атрибут не существует.

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

  • Ссылка элемента недопустима.

    Значение

    – 25304

    Описание

    Ссылка элемента недопустима.

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

  • Поисковая ссылка недопустима.

    Значение

    – 25305

    Описание

    Поисковая ссылка недопустима.

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

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

    Значение

    – 25306

    Описание

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

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

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

    Значение

    – 25307

    Описание

    Цепочка для ключей по умолчанию не существует.

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

  • Взаимодействие с Сервером безопасности не позволяется.

    Значение

    – 25308

    Описание

    Взаимодействие с Сервером безопасности не позволяется.

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

  • Атрибут только для чтения.

    Значение

    – 25309

    Описание

    Атрибут только для чтения.

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

  • Версия является неправильной.

    Значение

    – 25310

    Описание

    Версия является неправильной.

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

  • Размер ключа не позволяется.

    Значение

    – 25311

    Описание

    Размер ключа не позволяется.

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

  • Нет никакого доступного модуля хранения.

    Значение

    – 25312

    Описание

    Нет никакого доступного модуля хранения.

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

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

    Значение

    – 25313

    Описание

    Нет никакого доступного модуля сертификата.

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

  • Нет никакого доступного модуля политики.

    Значение

    – 25314

    Описание

    Нет никакого доступного модуля политики.

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

  • Взаимодействие с пользователем требуется.

    Значение

    – 25315

    Описание

    Взаимодействие с пользователем требуется.

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

  • Данные не доступны.

    Значение

    – 25316

    Описание

    Данные не доступны.

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

  • Данные не являются модифицируемыми.

    Значение

    – 25317

    Описание

    Данные не являются модифицируемыми.

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

  • Попытка создать цепочку сертификата перестала работать.

    Значение

    – 25318

    Описание

    Попытка создать цепочку сертификата перестала работать.

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

  • Предпочтительный указанный домен недопустим. Эта ошибка доступна в OS X v10.3 и позже.

    Значение

    – 25319

    Описание

    Предпочтительный указанный домен недопустим. Эта ошибка доступна в OS X v10.3 и позже.

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

  • Список управления доступом не находится в стандартной простой форме.

    Значение

    – 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 и позже.

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

    Значение

    – 25256

    Описание

    Указанный формат импорта или формат экспорта не поддерживаются.

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

  • Элемент, который Вы пытаетесь импортировать, имеет неизвестный формат.

    Значение

    – 25257

    Описание

    Элемент, который Вы пытаетесь импортировать, имеет неизвестный формат.

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

  • Ключ должен быть обернут, чтобы быть экспортированным.

    Значение

    – 25258

    Описание

    Ключ должен быть обернут, чтобы быть экспортированным.

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

  • Попытка была предпринята для импорта многократных закрытых ключей.

    Значение

    – 25259

    Описание

    Попытка была предпринята для импорта многократных закрытых ключей.

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

  • Пароль требуется для импорта или экспорта.

    Значение

    – 25260

    Описание

    Пароль требуется для импорта или экспорта.

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