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

The S/MIME functions make use of flags which are specified using a bitfield which can include one or more of the following values:

Константы PKCS7
Константа Описание
PKCS7_TEXT (int) Добавляет заголовок «Content-Type: text/plain» к зашифрованному и подписанному сообщению. При расшифровке или проверке флаг удаляет заголовки из вывода. Возникнет ошибка, если расшифрованное или проверенное сообщение не относится к MIME-типу text/plain.
PKCS7_BINARY (int) По умолчанию входное сообщение преобразовывается в «канонический» формат, в котором по требованию спецификации S/MIME одиночные символы перевода строки заменяются последовательностью символов CR и LF. При установке флага сообщение не преобразовывается. Форматирование отключают при обработке двоичных данных или данных, которые уже соответствуют каноническому MIME-формату.
PKCS7_NOINTERN (int) При проверке сообщения функцией openssl_pkcs7_verify() поиск сертификата подписи выполняется среди сертификатов параметра untrusted_certificates_filename и сертификатов сообщения, если сообщение содержит сертификаты. С опцией поиск ведётся только по сертификатам параметра, центры сертификации которых по-прежнему интерпретируются как недоверенные.
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/x-pkcs7-mime устанавливается значение application/pkcs7-mime.
PKCS7_NOSMIMECAP (int) Флаг доступен с PHP 8.5.0. Опция исключает из S/MIME-подписи атрибут SMIMECapabilities со сведениями о поддерживаемых алгоритмах шифрования.
PKCS7_CRLFEOL (int) Флаг доступен с PHP 8.5.0. С опцией конец строки в выводе обозначается последовательностью CRLF.
PKCS7_NOCRL (int) Флаг доступен с PHP 8.5.0. Опция исключает из PKCS7-структуры списки отзыва сертификатов (англ. Certificate Revocation List, сокр. CRL).
PKCS7_NO_DUAL_CONTENT (int) Флаг доступен с PHP 8.5.0. По умолчанию в PKCS7-структуру включаются данные и подпись данных. При установке флага данные не включаются.