S/MIME 関数はビットフィールドを使用して指定したフラグを使用します。 このビットフィールドには、以下の値を一つ以上含むことが可能です。
定数 | 説明 |
---|---|
PKCS7_TEXT
(int)
|
text/plain content type ヘッダを暗号化/署名されたメッセージに
追加します。復号化または認証を行う際には、このヘッダは出力から
取り除かれます。復号化または認証されたメッセージが MIME
型 text/plain でない場合、エラーとなります。
|
PKCS7_BINARY
(int)
|
通常は、入力されたメッセージは CR および LF を行端として使用した
「正規化」された形式に変換されます。こらは、S/MIME の規格に
基づくものです。このオプションが指定された場合、変換は行われません。
この機能は、MIME 形式でないバイナリデータを処理する際に
便利です。
|
PKCS7_NOINTERN
(int)
|
メッセージを認証する際に、通常、メッセージに含まれる証明書が
証明書にサインする際に検索されます。
このオプションでは、
openssl_pkcs7_verify() の
untrusted_certificates_filename パラメータで指定した証明書
のみが使用されます。しかし、指定された証明書を信頼されていな
い CA として使用することも可能です。
|
PKCS7_NOVERIFY
(int)
|
サインつきメッセージをサインした証明書の署名について 検証しません。 |
PKCS7_NOCHAIN
(int)
|
サインを行った側の証明書の認証の連鎖を行いません。 この場合、サイン付きのメッセージにある証明書を未認証の CA として使用しません。 |
PKCS7_NOCERTS
(int)
|
メッセージにサインする際、通常はサインをする人の証明書が挿入
されますが、このオプションを指定した場合はそうなりません。これに
よりサイン付きのメッセージのサイズは小さくなりますが、認証
側が(例えば、openssl_pkcs7_verify() の
untrusted_certificates_filename を用いて渡すことにより)
サインをした人の証明書のコピーをローカルに用意する必要があります。
|
PKCS7_NOATTR
(int)
|
通常、メッセージがサインされる時、サインした時間やサポートされる 対象アルゴリズムを含む一連の属性が付加されます。このオプションを 指定した場合、それらの属性は付加されません。 |
PKCS7_DETACHED
(int)
|
メッセージにサインをする際、MIME型 "multipart/signed"
を指定してクリアテキストでサインを行います。これは、
openssl_pkcs7_sign() において
フラグを指定しなかった場合の flags
パラメータのデフォルトです。このオプションをオフにした場合、
メッセージは不透明なサインによりサインされます。これは、
メールリレイによる変換に対してより耐性がありますが、S/MIME を
サポートしないメールエージェントでは読むことはできません。
|
PKCS7_NOSIGS
(int)
|
メッセージにサインや認証を試みません。 |
PKCS7_NOOLDMIMETYPE
(int)
|
PHP 8.3.0 以降で利用可能です。
メッセージを暗号化する場合に、content-type の値として
application/x-pkcs7-mime ではなく
application/pkcs7-mime を設定します。
|