phpday 2025 - Call For Papers

Константы-флаги стуктур CMS

Функции для работы с CMS-сообщениями принимают флаги, которые определяют как битовое поле. Поле битов включает одно или набор следующих значений:

Константы CMS
Константа Описание
OPENSSL_CMS_TEXT (int) Добавляет заголовки content-type text/plain в зашифрованное/подписанное сообщение. При расшифровке или проверке эти заголовки удаляются из вывода — если расшифрованное или проверенное сообщение не относится к MIME-типу text/plain, произойдёт ошибка.
OPENSSL_CMS_BINARY (int) Обычно входное сообщение преобразовывается в «каноничный» формат, который эффективно использует символы CR и LF в качестве конца строки: как требует спецификация CMS. Когда присутствует эта опция, перевод не выполняется. Это полезно при обработке двоичных данных, которые могут быть не в формате CMS.
OPENSSL_CMS_NOINTERN (int) При проверке сообщения сертификаты (если есть), включённые в сообщение, обычно проверяются на наличие сертификата подписи. С этой опцией используются только сертификаты, указанные в параметре untrusted_certificates_filename функции openssl_cms_verify(). Однако предоставленные сертификаты можно использовать как ненадёжные центры сертификации.
OPENSSL_CMS_NOVERIFY (int) Не проверять сертификат подписавшего у подписанного сообщения.
OPENSSL_CMS_NOCERTS (int) При подписании сообщения сертификат подписывающей стороны обычно включается — с этой опцией он исключается. Это уменьшит размер подписанного сообщения, но у проверяющего должна быть копия сертификата подписавшего, доступная локально (например, переданная в параметр untrusted_certificates_filename функции openssl_cms_verify()).
OPENSSL_CMS_NOATTR (int) Обычно при подписании сообщения включается набор атрибутов, который включает время подписи и поддерживаемые симметричные алгоритмы. С этой опцией они не включены.
OPENSSL_CMS_DETACHED (int) При подписании сообщения используйте подпись открытым текстом с MIME-типом "multipart/signed". Это значение по умолчанию, если вы не укажете никаких flags для openssl_cms_sign(). Если вы отключите эту опцию, сообщение будет подписано с использованием непрозрачной подписи, которая более устойчива к переводу почтовыми ретрансляторами, но не может быть прочитана почтовыми агентами, не поддерживающими S/MIME.
OPENSSL_CMS_NOSIGS (int) Не пытаться проверять подписи в сообщении
OPENSSL_CMS_OLDMIMETYPE (int) Доступно начиная с PHP 8.3.0. Устанавливает тип содержимого application/x-pkcs7-mime вместо application/pkcs7-mime для шифрования сообщения.

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top