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