CakeFest 2024: The Official CakePHP Conference

Флаги/константы PKCS7

Функции S/MIME используют флаги, которые определяются как набор битов, который может включать одну или несколько следующих констант:

Константы PKCS7
Константа Описание
PKCS7_TEXT (int) Добавляет заголовок содержимого 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) Обычно, когда сообщение подписано, в набор атрибутов также включается время подписания и поддерживаемый симметричный алгоритм. С помощью данной опции такое добавление не происходит.
PKCS7_DETACHED (int) При подписании сообщения, используйте подписание в открытом виде (cleartext signing) с MIME-типом "multipart/signed". Это выполняется по умолчанию, если не указывать ничего в flags функции openssl_pkcs7_sign(). Если выключить эту опцию, сообщение будет подписано с использованием opaque signing, что более устойчиво к передаче почтой, но не может быть прочитано почтовыми агентами, которые не поддерживают S/MIME.
PKCS7_NOSIGS (int) Не пытаться проверить подписи у сообщения
PKCS7_NOOLDMIMETYPE (int) Доступно начиная с PHP 8.3.0. Устанавливает тип содержимого application/pkcs7-mime вместо application/x-pkcs7-mime для шифрования сообщения.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top