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_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-структуру включаются данные и подпись данных. При установке флага данные не включаются. |