S/MIME 函數(shù)使用通過一個位閾來表示的標(biāo)志位,該位閾可包含如下一個或多個值:
常量名 | 描述 |
---|---|
PKCS7_TEXT |
把純文本類型的header頭添加到加密/簽名的消息中。如果解密或者驗證,將會從輸出中剝離這些header頭 - 如果這些被解密或驗證的消息不是 MIME 類型的純文本文件將會導(dǎo)致一個錯誤。 |
PKCS7_BINARY |
通常輸入消息將被轉(zhuǎn)成以CR 和LF 作行末的 "canonical" 格式(S/MIME規(guī)范中的聲明)。當(dāng)該選項出現(xiàn)時,消息將不會被轉(zhuǎn)化。 當(dāng)處理非MIME格式的二進制數(shù)據(jù)時,這個選項會很有用。 |
PKCS7_NOINTERN |
在驗證消息時,在消息中包含的證書(如果有的話)通常會被搜索簽名證書。 對于該選項,只有當(dāng) openssl_pkcs7_verify() 函數(shù)的參數(shù)extracerts 指定了的證書才會被使用。然而提供的證書仍然被當(dāng)做不受信任的證書使用。 |
PKCS7_NOVERIFY |
不要驗證簽名消息的簽名者證書。 |
PKCS7_NOCHAIN |
不要約束驗證簽名者證書:不要把簽名消息中的證書當(dāng)做不受信任的證書。 |
PKCS7_NOCERTS |
在簽署消息時,簽名者的證書通常包括在內(nèi),但是有了這個選項后,就不需要包括證書了。這將會縮小被簽名消息的大小,但是驗證人在本地必須有可用的簽名者證書副本(比如由openssl_pkcs7_verify()函數(shù)中的extracerts 參數(shù)傳遞) 。
|
PKCS7_NOATTR |
通常當(dāng)消息被簽名了,一些屬性的集合將會包含在內(nèi),比如簽名時間和支持的對稱算法。使用該選項用來設(shè)置不包含這些屬性。 |
PKCS7_DETACHED |
當(dāng)簽名消息時,使用 MIME 類型("multipart/signed" )的明文簽名。如果你為openssl_pkcs7_sign()函數(shù)沒有指定任何flags ,這個將會是默認的值。
如果你關(guān)閉這個選項,消息將使用不透明的簽名來簽名, 這將會使消息更能抵抗郵件中繼的翻譯,但是不支持 S/MIME 的郵件客戶端將不能讀取該消息。 |
PKCS7_NOSIGS |
不要嘗試在消息中驗證簽名 |
注意:
這些常量在 4.0.6 版本中被添加。