Функции для работы с 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 .
|