Функции для работы с S/MIME-сообщениями принимают флаги, которые определяют как битовое поле. Поле битов включает одно или набор следующих значений:
| Константа | Описание | 
|---|---|
| PKCS7_TEXT(int) | Добавляет заголовок «Content-Type: text/plain» к зашифрованному
        и подписанному сообщению.
        При расшифровке или проверке флаг удаляет заголовки
        из вывода. Возникнет ошибка, если расшифрованное или проверенное сообщение
        не относится к MIME-типуtext/plain. | 
| PKCS7_BINARY(int) | Обычно входное сообщение преобразовывается к «каноническому» формату,
        который эффективно использует последовательности CRиLFкак символы конца строки: как того требует сертификация S/MIME. С этой опцией
        сообщение не преобразовывается. Это полезно при обработке двоичных данных,
        формат которых не всегда соответствует MIME-формату. | 
| PKCS7_NOINTERN(int) | При проверке сообщения, если сообщение содержит сертификаты,
        среди сертификатов сообщения обычно выполняется поиск сертификата подписи.
        С этой опцией поиск выполняется только по сертификатам параметра untrusted_certificates_filenameфункции openssl_pkcs7_verify(),
        а не по сертификатам сообщения. Предоставленные сертификаты по-прежнему можно использовать,
        но как сертификаты недоверенных центров сертификации. | 
| PKCS7_NOVERIFY(int) | Флаг отключает проверку сертификата отправителя подписанного сообщения. | 
| PKCS7_NOCHAIN(int) | Флаг отключает проверку цепочки сертификатов отправителя: то есть исключает сертификаты в подписанном сообщении (кроме сертификата отправителя) как сертификаты недоверенных центров сертификации. | 
| PKCS7_NOCERTS(int) | При подписании сообщения сертификат отправителя обычно включается
        в сообщение, тогда как с этой опцией сертификат не добавляется. Это уменьшит
        размер подписанного сообщения, но получателю потребуется доступ к локальной копии
        сертификата отправителя, которую передают, например, через параметр untrusted_certificates_filenameфункции
        openssl_pkcs7_verify(). | 
| PKCS7_NOATTR(int) | При подписании в сообщение обычно включается набор атрибутов, который содержит время подписания и список симметричных алгоритмов, которые поддерживает S/MIME-протокол. С этой опцией атрибуты не включаются. | 
| PKCS7_DETACHED(int) | При подписании сообщения функция прикрепляет подпись в виде открытого текста
        с MIME-типом multipart/signed. Это значение по умолчанию,
        если только не указали флаги для параметраflagsфункции
        openssl_pkcs7_sign().
        Без этой опции функция подпишет сообщение непрозрачной подписью,
        которая более устойчива к пересылке сообщений почтовыми ретрансляторами,
        но недоступна для прочтения почтовыми агентами, которые
        не поддерживают стандарт S/MIME. | 
| PKCS7_NOSIGS(int) | Флаг отключает попытку проверки подписей в сообщениях. | 
| PKCS7_NOOLDMIMETYPE(int) | Флаг доступен с PHP 8.3.0. Опция устанавливает для шифрования сообщения
        заголовок Content-Type: application/pkcs7-mimeвместо заголовкаContent-Type: application/x-pkcs7-mime. | 
