CMS 标志/常量

CMS 函数使用标志,这些标志使用位域指定,可以包含以下一个或多个值。

CMS 常量
常量 描述
OPENSSL_CMS_TEXT (int) 在加密/签名消息中添加 text/plain 内容类型标头。如果解密或验证,它会从输出中剥离这些标头 - 如果解密或验证的消息不是 MIME 类型 text/plain,则会发生错误。
OPENSSL_CMS_BINARY (int) 通常,输入消息将转换为“规范”格式,实际上使用 CRLF 作为行尾:这是 CMS 规范的要求。当存在此选项时,不会进行转换。这在处理可能不是 CMS 格式的二进制数据时很有用。
OPENSSL_CMS_NOINTERN (int) 验证消息时,通常会搜索消息中包含的证书(如果有)以查找签名证书。使用此选项,仅使用 openssl_cms_verify()untrusted_certificates_filename 参数中指定的证书。但是,提供的证书仍然可以作为不受信任的 CA 使用。
OPENSSL_CMS_NOVERIFY (int) 不要验证签名消息的签名者证书。
OPENSSL_CMS_NOCERTS (int) 签名消息时,通常会包含签名者的证书 - 使用此选项会将其排除在外。这将减少签名消息的大小,但验证者必须在本地拥有签名者证书的副本(例如,通过将 untrusted_certificates_filename 传递给 openssl_cms_verify())。
OPENSSL_CMS_NOATTR (int) 通常,当消息被签名时,会包含一组属性,其中包括签名时间和支持的对称算法。使用此选项,它们不会被包含。
OPENSSL_CMS_DETACHED (int) 签名消息时,使用具有 MIME 类型 "multipart/signed" 的明文签名。如果未为 openssl_cms_sign() 指定任何 flags,则这是默认值。如果关闭此选项,消息将使用不透明签名进行签名,这更能抵抗邮件中继的转换,但无法被不支持 S/MIME 的邮件代理读取。
OPENSSL_CMS_NOSIGS (int) 不要尝试验证消息上的签名。
OPENSSL_CMS_OLDMIMETYPE (int) 从 PHP 8.3.0 开始可用。将内容类型设置为 application/x-pkcs7-mime 而不是 application/pkcs7-mime 来加密消息。

添加说明

用户贡献说明

此页面没有用户贡献说明。
To Top