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