2024 PHP Conference Japan

PKCS7 旗標/常數

S/MIME 函式使用透過位元欄位指定的旗標,其中可以包含下列一或多個值

PKCS7 常數
常數 說明
PKCS7_TEXT (整數) 為加密/簽章訊息加入 text/plain 內容類型標頭。在解密或驗證時,它會從輸出中移除這些標頭 - 如果解密或驗證後的訊息不是 MIME 類型 text/plain,則會發生錯誤。
PKCS7_BINARY (int 整數) 通常輸入訊息會轉換為「標準」格式,實際上是使用 CRLF 作為行尾:這是 S/MIME 規範的要求。當存在此選項時,則不會進行轉換。這在處理可能不是 MIME 格式的二進位資料時很有用。
PKCS7_NOINTERN (int 整數) 驗證訊息時,通常會在訊息中包含的憑證(如果有的話)中搜尋簽章憑證。使用此選項時,只會使用 openssl_pkcs7_verify()untrusted_certificates_filename 參數中指定的憑證。提供的憑證仍然可以用作不受信任的 CA。
PKCS7_NOVERIFY (int 整數) 不要驗證已簽章訊息的簽署者憑證。
PKCS7_NOCHAIN (int 整數) 不要鏈式驗證簽署者的憑證:也就是不要將已簽章訊息中的憑證用作不受信任的 CA。
PKCS7_NOCERTS (int 整數) 簽章訊息時,通常會包含簽署者的憑證 - 使用此選項時,則會排除它。這將減少已簽章訊息的大小,但驗證者必須在本地擁有簽署者憑證的副本(例如,使用 untrusted_certificates_filename 傳遞給 openssl_pkcs7_verify())。
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 起可用。將內容類型設定為 application/pkcs7-mime 而不是 application/x-pkcs7-mime 來加密訊息。

新增註記

使用者貢獻的註記

此頁面尚無使用者提供的註記。
To Top