OpenSSL

密碼學和 SSL/TLS 工具包

openssl-cms

名稱

openssl-cms - CMS 命令

語法

openssl cms [-help]

一般選項

[-in filename] [-out filename] [-config configfile]

操作選項

[-encrypt] [-decrypt] [-sign] [-verify] [-resign] [-sign_receipt] [-verify_receipt receipt] [-digest digest] [-digest_create] [-digest_verify] [-compress] [-uncompress] [-EncryptedData_encrypt] [-EncryptedData_decrypt] [-data_create] [-data_out] [-cmsout]

檔案格式選項

[-inform DER|PEM|SMIME] [-outform DER|PEM|SMIME] [-rctform DER|PEM|SMIME] [-stream] [-indef] [-noindef] [-binary] [-crlfeol] [-asciicrlf]

金鑰和密碼選項

[-pwri_password password] [-secretkey key] [-secretkeyid id] [-inkey filename|uri] [-passin arg] [-keyopt name:parameter] [-keyform DER|PEM|P12|ENGINE] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [-rand files] [-writerand file]

加密選項

[-originator file] [-recip file] [recipient-cert ...] [-cipher] [-wrap cipher] [-aes128-wrap] [-aes192-wrap] [-aes256-wrap] [-des3-wrap] [-debug_decrypt]

簽署選項

[-md digest] [-signer file] [-certfile file] [-cades] [-nodetach] [-nocerts] [-noattr] [-nosmimecap] [-receipt_request_all] [-receipt_request_first] [-receipt_request_from emailaddress] [-receipt_request_to emailaddress]

驗證選項

[-signer file] [-content filename] [-no_content_verify] [-no_attr_verify] [-nosigs] [-noverify] [-nointern] [-cades] [-verify_retcode] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore]

輸出選項

[-keyid] [-econtent_type type] [-text] [-certsout file] [-to addr] [-from addr] [-subject subj]

列印選項

[-noout] [-print] [-nameopt option] [-receipt_request_print]

驗證選項

[-allow_proxy_certs] [-attime 時間戳記] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose 目的] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks]

說明

此指令處理 CMS 格式的資料,例如 S/MIME v3.1 電子郵件訊息。它可以加密、解密、簽署、驗證、壓縮、解壓縮和列印訊息。

選項

有許多設定要執行作業類型的作業選項:加密、解密、簽署、驗證、重新簽署、簽署收據、驗證收據、建立摘要、驗證摘要、壓縮、解壓縮、EncryptedData_encrypt、EncryptedData_decrypt、data_create、data_out 或 cmsout。其他選項的關聯性取決於作業類型,而且其意義可能會因作業類型而異。

-help

列印使用訊息。

一般選項

-in 檔名

要加密或簽署的輸入訊息,或要解密或驗證的訊息。

-out 檔名

已解密或驗證的訊息文字,或已簽署或驗證的輸出 MIME 格式訊息。

-config 組態檔

請參閱 openssl(1) 中的「組態選項」

操作選項

-encrypt

使用指定的收件者憑證加密資料。輸入檔案是要加密的訊息。輸出檔案是 MIME 格式的加密資料。實際的 CMS 類型為 EnvelopedData

請注意,收件者憑證不會執行撤銷檢查,因此如果該金鑰已遭到入侵,其他人可能會能夠解密文字。

-decrypt

使用提供的憑證和私人金鑰解密資料。輸入檔案預期為 MIME 格式的加密資料。解密後的資料會寫入輸出檔案。

-sign

使用提供的憑證和私人金鑰簽署資料。輸入檔案是要簽署的訊息。MIME 格式的已簽署資料會寫入輸出檔案。

-verify

驗證已簽署資料。輸入預期為已簽署資料,並輸出已簽署資料。支援明文和不透明簽署。

-resign

重新簽署訊息:取得現有訊息和一個或多個新的簽署者。

-sign_receipt

為提供的訊息產生並輸出已簽署收據。輸入訊息必須包含已簽署收據要求。其他功能類似於 -sign 作業。

-verify_receipt 收據

驗證檔案名稱 receipt 中的已簽署收據。輸入訊息必須包含原始收據請求。否則,功能與 -verify 作業類似。

-digest 摘要

-sign 搭配使用時,以十六進位形式提供摘要,而不是從原始訊息內容計算摘要。無法與 -in-nodetach 結合使用。

此作業相當於 openssl-pkeyutl(1) 簽署的 CMS 等效項。在簽署預先計算的摘要時,安全性仰賴於摘要及其從原始訊息計算的結果值得信賴。

-digest_create

建立 CMS DigestedData 類型。

-digest_verify

驗證 CMS DigestedData 類型並輸出內容。

-compress

建立 CMS CompressedData 類型。OpenSSL 必須編譯並支援 zlib,此選項才能運作,否則會輸出錯誤。

-uncompress

解壓縮 CMS CompressedData 類型並輸出內容。OpenSSL 必須編譯並支援 zlib,此選項才能運作,否則會輸出錯誤。

-EncryptedData_encrypt

使用提供的對稱金鑰和演算法,使用 CMS EncryptedData 類型加密內容並輸出內容。

-EncryptedData_decrypt

使用提供的對稱金鑰和演算法,使用 CMS EncryptedData 類型解密內容並輸出內容。

-data_create

建立 CMS Data 類型。

-data_out

Data 類型並輸出內容。

-cmsout

採用輸入訊息並寫出 PEM 編碼的 CMS 結構。

檔案格式選項

-inform DER|PEM|SMIME

CMS 結構的輸入格式(如果正在讀取);預設為 SMIME。有關詳細資訊,請參閱 openssl-format-options(1)

-outform DER|PEM|SMIME

CMS 結構的輸出格式(如果正在寫入);預設為 SMIME。有關詳細資訊,請參閱 openssl-format-options(1)

-rctform DER|PEM|SMIME

-receipt_verify 搭配使用的已簽署收據格式;預設為 SMIME。有關詳細資訊,請參閱 openssl-format-options(1)

-stream, -indef

-stream-indef 選項相當,並為編碼作業啟用串流 I/O。這允許單次處理資料,而無需將整個內容保存在記憶體中,這可能會支援非常大的檔案。如果輸出格式為 SMIME,則會自動設定串流以進行 S/MIME 簽署,並附帶分離的資料,目前預設會關閉所有其他作業。

-noindef

停用串流 I/O,這會產生不確定長度的建構編碼。目前,此選項沒有作用。未來,串流將在所有相關作業上預設啟用,而此選項將停用串流。

-binary

通常,輸入訊息會轉換為「標準」格式,這會有效地使用 CR 和 LF 作為行尾:這是 S/MIME 規格所要求的。當此選項存在時,不會進行轉換。在處理可能不是 MIME 格式的二進位資料時,這很有用。

-crlfeol

通常輸出檔案使用單一 LF 作為行尾。當此選項存在時,將改用 CRLF

-asciicrlf

簽署時使用 ASCII CRLF 格式正規化。此動作會移除所有行尾空白,刪除 EOF 尾空白行,並設定封裝內容類型。此選項通常與分離內容和 DER 輸出簽章格式搭配使用。驗證時通常不需要此選項,因為如果偵測到封裝內容格式,系統會自動啟用此選項。

金鑰和密碼選項

-pwri_password 密碼

指定收件者的密碼。

-secretkey 金鑰

指定要使用的對稱式金鑰。金鑰必須以十六進位格式提供,並與所使用的演算法相符。-EncryptedData_encrypt -EncryptedData_decrypt-encrypt-decrypt 選項支援此選項。與 -encrypt-decrypt 搭配使用時,提供的金鑰會用於使用 KEKRecipientInfo 類型的 AES 金鑰包裝或解開內容加密金鑰。

-secretkeyid id

KEKRecipientInfo 類型所提供的對稱式金鑰的金鑰識別碼。如果 -secretkey 選項與 -encrypt 搭配使用,必須存在此選項。在 -decrypt 作業中,如果未提供 id,系統會使用 id 找出相關金鑰,然後嘗試解密任何 KEKRecipientInfo 結構。

-inkey 檔名|uri

簽署或解密時要使用的私密金鑰。這必須與對應的憑證相符。如果未指定此選項,則私密金鑰必須包含在使用 -recip-signer 檔案指定的憑證檔案中。簽署時,此選項可多次使用,以指定連續金鑰。

-passin 引數

私密金鑰密碼來源。有關 arg 格式的詳細資訊,請參閱 openssl-passphrase-options(1)

-keyopt 名稱:參數

對於簽署和加密,此選項可多次使用,以設定前一個金鑰或憑證的客製化參數。目前可使用此選項設定簽署的 RSA-PSS、加密的 RSA-OAEP 或修改 ECDH 的預設參數。

-keyform DER|PEM|P12|ENGINE

私密金鑰檔案的格式;預設未指定。有關詳細資訊,請參閱 openssl-format-options(1)

-engine id

請參閱 openssl(1) 中的「引擎選項」。此選項已棄用。

-provider 名稱
-provider-path 路徑
-propquery propq

請參閱 openssl(1) 中的「提供者選項」provider(7)property(7)

-rand 檔案-writerand 檔案

請參閱 openssl(1) 中的「隨機狀態選項」 以取得詳細資訊。

加密和解密選項

-originator 檔案

加密訊息發起者的憑證。當使用金鑰協定來取得共用金鑰時,解密時需要此憑證。

-recip 檔案

解密訊息時,此選項會指定收件者的憑證。憑證必須與訊息收件者之一相符。

加密訊息時,此選項可用於多次指定每個收件者。如果需要自訂參數(例如指定 RSA-OAEP),必須使用此表單。

此選項僅支援載有 RSA、Diffie-Hellman 或 EC 金鑰的憑證。

收件者憑證 ...

這是加密訊息時使用 -recip 選項的替代方案。可以提供一個或多個憑證檔名。

-加密

要使用的加密演算法。例如三重 DES(168 位元)- -des3 或 256 位元 AES - -aes256。任何標準演算法名稱(EVP_get_cipherbyname() 函數使用)也可以使用,前面加上連字號,例如 -aes-128-cbc。請參閱 openssl-enc(1) 以取得 OpenSSL 版本支援的加密清單。

目前只有 GCM 模式的 AES 變體是支援的 AEAD 演算法。

如果未指定,則使用三重 DES。僅與 -encrypt-EncryptedData_create 命令一起使用。

-wrap 加密

使用金鑰協定加密訊息時,用於金鑰封裝的加密演算法。指定的演算法應適合金鑰封裝。

-aes128-wrap-aes192-wrap-aes256-wrap-des3-wrap

分別使用 AES128、AES192、AES256 或 3DES-EDE 封裝金鑰。根據所使用的 OpenSSL 建置選項,可能不支援 -des3-wrap

-debug_decrypt

此選項設定 CMS_DEBUG_DECRYPT 旗標。此選項應謹慎使用:請參閱下方註解部分。

簽署選項

-md 摘要

簽署或重新簽署時要使用的摘要演算法。如果未提供,則會使用簽署金鑰的預設摘要演算法(通常為 SHA1)。

-signer 檔案

簽署憑證。簽署或重新簽署訊息時,如果需要多個簽署者,可以使用此選項多次。

-certfile 檔案

允許指定其他憑證。簽署時,這些憑證會包含在訊息中。驗證時,會搜尋這些憑證以尋找簽署者憑證。輸入可以是 PEM、DER 或 PKCS#12 格式。

-cades

-sign 搭配使用時,將 ESS signingCertificate 或 ESS signingCertificateV2 signed-attribute 新增至 SignerInfo,以使簽章符合 CAdES 基本電子簽章 (CAdES-BES) 的需求。

-nodetach

簽署訊息時使用不透明簽署:此表單較能抵抗郵件中繼的轉譯,但無法由不支援 S/MIME 的郵件代理程式讀取。未選取此選項時,會使用 MIME 類型 multipart/signed 的明文簽署。

-nocerts

簽署訊息時,通常會包含簽署者的憑證,但選取此選項時會將其排除。這會縮小已簽署訊息的大小,但驗證者必須擁有簽署者憑證的本機副本(例如透過 -certfile 選項傳遞)。

-noattr

通常在簽署訊息時,會包含一組屬性,其中包括簽署時間和支援的對稱演算法。選取此選項時,不會包含這些屬性。

-nosmimecap

從已簽署屬性中排除支援演算法的清單,其他選項(例如簽署時間和內容類型)仍會包含。

-receipt_request_all, -receipt_request_first

對於 -sign 選項,包含已簽署收據要求。指出要求應由所有收件者或第一層收件者(直接郵寄且非來自郵寄清單者)提供。如果包含 -receipt_request_from,則會忽略此選項。

-receipt_request_from 電子郵件地址

對於 -sign 選項,包含已簽署收據要求。新增應提供收據的明確電子郵件地址。

-receipt_request_to 電子郵件地址

新增應將已簽署收據傳送至的明確電子郵件地址。如果要求已簽署收據,必須提供此選項。

驗證選項

-signer 檔案

如果已成功驗證訊息,則簽署者的憑證會寫入此檔案(如果驗證成功)。

-content 檔名

這會指定一個包含分離內容的檔案,以進行 S/MIME 輸入作業,例如 -verify 指令。只有當 CMS 結構使用分離簽章表單(其中不包含內容)時,才能使用此選項。如果輸入格式為 S/MIME 且使用 multipart/signed MIME 內容類型,此選項會覆寫任何內容。

-no_content_verify

不要驗證已簽署內容簽章。

-no_attr_verify

不要驗證已簽署屬性簽章。

-nosigs

不要驗證訊息簽章。

-noverify

不要驗證已簽署訊息的簽署者憑證。

-nointern

在驗證訊息時,通常會搜尋訊息中包含的憑證(如果有的話)以取得簽署憑證。使用此選項時,只會使用 -certfile 選項中指定的憑證。不過,提供的憑證仍可用作不受信任的 CA。

-cades

-verify 搭配使用時,需要並檢查簽署者憑證摘要。有關更多詳細資訊,請參閱備註部分。

-verify_retcode

驗證失敗時退出,傳回非零值。

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore

有關詳細資訊,請參閱 openssl-verification-options(1) 中的「受信任憑證選項」

輸出選項

-keyid

使用主旨金鑰識別碼來識別憑證,而不是發行者名稱和序號。提供的憑證必須包含主旨金鑰識別碼延伸模組。由 -sign-encrypt 選項支援。

-econtent_type type

將封裝內容類型設定為 type,如果未提供,則使用 資料 類型。type 參數可以是任何有效的 OID 名稱,格式為文字或數字。

-text

如果進行加密或簽署,此選項會將純文字 (text/plain) MIME 標頭新增到提供的訊息中。如果進行解密或驗證,它會移除文字標頭:如果解密或驗證的訊息不是 MIME 類型 text/plain,則會發生錯誤。

-certsout file

輸入訊息中包含的任何憑證都會寫入 file

-to, -from, -subject

相關電子郵件標頭。這些標頭包含在訊息的已簽署部分之外,因此可以手動包含。如果進行簽署,許多 S/MIME 郵件用戶端會檢查簽署者憑證的電子郵件地址是否與從:地址中指定的地址相符。

列印選項

-noout

對於 -cmsout 作業,不要輸出已剖析的 CMS 結構。如果要檢查 CMS 結構的語法,這會很有用。

-print

對於 -cmsout 作業,列印 CMS 結構的所有欄位。這表示 -noout。這主要用於測試目的。

-nameopt option

對於 -cmsout 作業,當使用 -print 選項時,指定字串欄位的列印選項。在大多數情況下,utf8 是合理的選項。有關詳細資訊,請參閱 openssl-namedisplay-options(1)

-receipt_request_print

對於 -verify 作業,列印任何已簽署收據要求的內容。

驗證選項

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks

設定憑證鏈驗證的各種選項。有關詳細資訊,請參閱 openssl-verification-options(1) 中的「驗證選項」

任何驗證錯誤都會導致指令結束。

注意事項

MIME 訊息必須在標頭和輸出之間傳送,且不可有任何空白行。某些郵件程式會自動新增空白行。將郵件直接傳遞至 sendmail 是達成正確格式的一種方式。

要簽署或加密的提供訊息必須包含必要的 MIME 標頭,否則許多 S/MIME 客戶端將無法正確顯示(如果顯示的話)。您可以使用 -text 選項自動新增純文字標頭。

「已簽署且已加密」訊息是指已簽署訊息然後加密的訊息。這可以透過加密已簽署的訊息產生:請參閱範例區段。

此版本的程式只允許每個訊息一個簽署者,但它會驗證收到的訊息有多個簽署者。如果訊息包含多個簽署者,某些 S/MIME 客戶端會當機。可以透過簽署已簽署的訊息「平行」簽署訊息。

-encrypt-decrypt 選項反映 S/MIME 客戶端的常見用法。嚴格來說,這些處理 CMS 包封資料:CMS 加密資料用於其他用途。

-resign 選項在新增新的簽署者時使用現有的訊息摘要。這表示屬性必須存在於至少一個使用相同訊息摘要的現有簽署者中,否則此作業會失敗。

-stream-indef 選項啟用串流 I/O 支援。因此,編碼為使用不確定長度建構編碼的 BER,不再是 DER。串流支援 -encrypt 作業,以及內容未分離的 -sign 作業。

串流始終用於分離資料的 -sign 作業,但由於內容不再是 CMS 結構的一部分,因此編碼仍為 DER。

如果 -decrypt 選項在沒有收件者憑證的情況下使用,則會嘗試使用提供的私鑰依序嘗試每個潛在收件者來找出收件者。為了阻止 MMA 攻擊(Bleichenbacher 對 PKCS #1 v1.5 RSA 填充的攻擊),無論是否成功,都會嘗試所有收件者,如果沒有收件者相符,則會使用隨機金鑰「解密」訊息,這通常會輸出垃圾。-debug_decrypt 選項可用於停用 MMA 攻擊防護,並在找不到收件者時傳回錯誤:應謹慎使用此選項。有關更完整的說明,請參閱 CMS_decrypt(3))。

CADES 基本電子簽章 (CADES-BES)

歐洲標準 ETSI EN 319 122-1 V1.1.1 中定義的 CAdES 基本電子簽章 (CAdES-BES) 包含

  • CMS (RFC 3852) 中定義的已簽署使用者資料;

  • 已簽署的 EncapsulatedContentInfo 值的內容類型;

  • 已簽署的 encapContentInfo 中 eContent OCTET STRING 的訊息摘要;

  • 增強安全性服務 (ESS)、RFC 2634 和 RFC 5035 中定義的 ESS signingCertificate 或 ESS signingCertificateV2 屬性。ESS signingCertificate 屬性僅允許將 SHA-1 作為摘要演算法。ESS signingCertificateV2 屬性允許使用任何摘要演算法。

  • 在使用者資料上計算的數位簽章值,以及在存在時,在已簽署的屬性上計算的數位簽章值。

    請注意,-cades 選項適用於 -sign-verify 作業。使用此選項時,-verify 作業還需要 signingCertificate 屬性,並檢查指定的識別碼是否與驗證過程中建立的驗證信任鏈相符。

結束代碼

0

作業完全成功。

1

解析命令選項時發生錯誤。

2

無法讀取其中一個輸入檔案。

3

建立 CMS 檔案或讀取 MIME 訊息時發生錯誤。

4

解密或驗證訊息時發生錯誤。

5

訊息已正確驗證,但寫出簽署者憑證時發生錯誤。

與 PKCS#7 格式的相容性

openssl-smime(1) 只能處理較舊的 PKCS#7 格式。openssl cms 支援密碼訊息語法格式。使用某些功能會產生無法由僅支援較舊格式的應用程式處理的訊息。以下是詳細資料。

-sign-encrypt 中使用 -keyid 選項。

-outform PEM 選項使用不同的標頭。

-compress 選項。

在與 -encrypt 搭配使用時使用的 -secretkey 選項。

-sign 中使用 PSS。

-encrypt 中使用 OAEP 或非 RSA 金鑰。

此外,-EncryptedData_create-data_create 類型無法由較舊的 openssl-smime(1) 命令處理。

範例

建立明文簽署的訊息

openssl cms -sign -in message.txt -text -out mail.msg \
       -signer mycert.pem

建立不透明簽署的訊息

openssl cms -sign -in message.txt -text -out mail.msg -nodetach \
       -signer mycert.pem

建立簽署的訊息,包含一些額外的憑證,並從另一個檔案讀取私密金鑰

openssl cms -sign -in in.txt -text -out mail.msg \
       -signer mycert.pem -inkey mykey.pem -certfile mycerts.pem

建立具有兩個簽署者的簽署訊息,使用金鑰識別碼

openssl cms -sign -in message.txt -text -out mail.msg \
       -signer mycert.pem -signer othercert.pem -keyid

在 Unix 下直接傳送已簽署的訊息到 sendmail,包括標頭

openssl cms -sign -in in.txt -text -signer mycert.pem \
       -from steve@openssl.org -to someone@somewhere \
       -subject "Signed message" | sendmail someone@somewhere

驗證訊息,並在成功時提取簽署者的憑證

openssl cms -verify -in mail.msg -signer user.pem -out signedtext.txt

使用三重 DES 傳送加密郵件

openssl cms -encrypt -in in.txt -from steve@openssl.org \
       -to someone@somewhere -subject "Encrypted message" \
       -des3 user.pem -out mail.msg

簽署並加密郵件

openssl cms -sign -in ml.txt -signer my.pem -text \
       | openssl cms -encrypt -out mail.msg \
       -from steve@openssl.org -to someone@somewhere \
       -subject "Signed and Encrypted message" -des3 user.pem

注意:加密指令不包含 -text 選項,因為要加密的訊息已具有 MIME 標頭。

解密訊息

openssl cms -decrypt -in mail.msg -recip mycert.pem -inkey key.pem

Netscape 表單簽署的輸出是具有分離簽署格式的 PKCS#7 結構。您可以使用這個程式驗證簽署,方法是對 base64 編碼結構進行換行,並用

-----BEGIN PKCS7-----
-----END PKCS7-----

包圍它,並使用指令,

openssl cms -verify -inform PEM -in signature.pem -content content.txt

或者,您可以對簽署進行 base64 解碼,並使用

openssl cms -verify -inform DER -in signature.der -content content.txt

使用 128 位元 Camellia 建立加密訊息

openssl cms -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem

將簽署者新增到現有訊息

openssl cms -resign -in mail.msg -signer newsign.pem -out mail2.msg

使用 RSA-PSS 簽署訊息

openssl cms -sign -in message.txt -text -out mail.msg \
       -signer mycert.pem -keyopt rsa_padding_mode:pss

使用 RSA-OAEP 建立加密訊息

openssl cms -encrypt -in plain.txt -out mail.msg \
       -recip cert.pem -keyopt rsa_padding_mode:oaep

將 SHA256 KDF 與 ECDH 憑證一起使用

openssl cms -encrypt -in plain.txt -out mail.msg \
       -recip ecdhcert.pem -keyopt ecdh_kdf_md:sha256

以人類可讀的形式列印 CMS 簽署的二進位資料

openssl cms -in signed.cms -binary -inform DER -cmsout -print

錯誤

MIME 分析器不太靈光:它似乎可以處理我丟給它的多數訊息,但可能會在其他訊息上出錯。

目前,程式碼只會將簽署者的憑證寫入檔案:如果簽署者有獨立的加密憑證,則必須手動提取。應該有一些啟發法來判斷正確的加密憑證。

理想情況下,應該為每個電子郵件地址維護一個憑證資料庫。

目前,程式碼不會注意 SMIMECapabilities 簽署屬性中提供的允許對稱加密演算法。這表示使用者必須手動包含正確的加密演算法。它應該將允許的密碼清單儲存在資料庫中,並只使用那些密碼。

未對簽署者的憑證執行撤銷檢查。

另請參閱

ossl_store-file(7)

歷史記錄

在 OpenSSL 1.0.0 中首次新增使用多個 -signer 選項和 -resign 指令。

在 OpenSSL 1.0.2 中新增 -keyopt 選項。

在 OpenSSL 1.0.2 中新增對 RSA-OAEP 和 RSA-PSS 的支援。

在 OpenSSL 1.0.2 中新增使用非 RSA 金鑰與 -encrypt-decrypt

在 OpenSSL 1.0.2b 中新增 -no_alt_chains 選項。

在 OpenSSL 3.0.0 中新增 -nameopt 選項。

在 OpenSSL 3.0 中已棄用 -engine 選項。

在 OpenSSL 3.2 中新增 -digest 選項。

版權所有 2008-2023 OpenSSL 專案作者。保留所有權利。

根據 Apache 授權條款 2.0(「授權條款」)授權。您不得使用此檔案,除非符合授權條款。您可以在原始程式碼散佈中的 LICENSE 檔案中取得副本,或在 https://www.openssl.org/source/license.html 取得副本。