openssl-spkac
名稱
openssl-spkac - SPKAC 列印和產生指令
語法
openssl spkac [-help] [-in 檔名] [-out 檔名] [-digest 摘要] [-key 檔名|uri] [-keyform DER|PEM|P12|ENGINE] [-passin arg] [-challenge 字串] [-pubkey] [-spkac spkacname] [-spksect 區段] [-noout] [-verify] [-engine id] [-provider 名稱] [-provider-path 路徑] [-propquery propq]
說明
此指令處理 Netscape 簽署的公開金鑰和挑戰 (SPKAC) 檔案。它可以列印其內容、驗證簽章,並從提供的私鑰產生自己的 SPKAC。
選項
- -help
-
列印使用說明訊息。
- -in 檔名
-
指定要從中讀取的輸入檔名,如果未指定此選項,則為標準輸入。如果使用 -key 選項,則會略過。
- -out 檔名
-
指定要寫入的輸出檔名,或預設為標準輸出。
- -digest 摘要
-
使用指定的 摘要簽署建立的 SPKAC 檔案。預設摘要演算法為 MD5。
- -key 檔名|uri
-
使用 檔名或 uri 指定的私鑰建立 SPKAC 檔案。如果存在,則會略過 -in、-noout、-spksect 和 -verify 選項。
- -keyform DER|PEM|P12|ENGINE
-
金鑰格式;預設未指定。有關詳細資訊,請參閱 openssl-format-options(1)。
- -passin arg
-
輸入檔案密碼來源。有關 arg 格式的詳細資訊,請參閱 openssl-passphrase-options(1)。
- -challenge 字串
-
如果要建立 SPKAC,請指定挑戰字串。
- -spkac spkacname
-
允許變數中包含 SPKAC 的替代名稱形式。預設為「SPKAC」。此選項會影響產生的 SPKAC 檔案和輸入的 SPKAC 檔案。
- -spksect 區段
-
允許包含 SPKAC 的區段中替代名稱形式。預設為預設區段。
- -noout
-
不輸出 SPKAC 的文字版本(如果正在建立 SPKAC,則不使用)。
- -pubkey
-
輸出 SPKAC 的公開金鑰(如果正在建立 SPKAC,則不使用)。
- -verify
-
驗證所提供 SPKAC 上的數位簽章。
- -engine id
-
請參閱 openssl(1) 中的「Engine Options」。此選項已棄用。
- -provider name
- -provider-path path
- -propquery propq
-
請參閱 openssl(1) 中的「Provider Options」、provider(7) 和 property(7)。
範例
列印 SPKAC 的內容
openssl spkac -in spkac.cnf
驗證 SPKAC 的簽章
openssl spkac -in spkac.cnf -noout -verify
使用挑戰字串「hello」建立 SPKAC
openssl spkac -key key.pem -challenge hello -out spkac.cnf
SPKAC 的範例(為了清楚起見,將長行拆分)
SPKAC=MIG5MGUwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA\
1cCoq2Wa3Ixs47uI7FPVwHVIPDx5yso105Y6zpozam135a\
8R0CpoRvkkigIyXfcCjiVi5oWk+6FfPaD03uPFoQIDAQAB\
FgVoZWxsbzANBgkqhkiG9w0BAQQFAANBAFpQtY/FojdwkJ\
h1bEIYuc2EeM2KHTWPEepWYeawvHD0gQ3DngSC75YCWnnD\
dq+NQ3F+X4deMx9AaEglZtULwV4=
注意事項
已建立的 SPKAC 附加適當的 DN 組件後,可以提供給 openssl-ca(1)。
當表單包含 KEYGEN 標籤作為憑證註冊程序的一部分時,SPKAC 通常是由 Netscape 產生的。
挑戰字串允許以原始形式證明擁有私密金鑰。透過檢查 SPKAC 簽章和隨機挑戰字串,可以保證使用者知道與正在驗證的公開金鑰對應的私密金鑰。這在某些應用程式中很重要。沒有這個保證,可能會在「重播攻擊」中使用先前的 SPKAC。
另請參閱
歷史記錄
-engine 選項已在 OpenSSL 3.0 中棄用。
-digest 選項已在 OpenSSL 3.0 中新增。
版權
版權所有 2000-2021 The OpenSSL Project Authors。保留所有權利。
根據 Apache License 2.0(「授權」)授權。您只能在遵守授權的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案中取得副本,或在 https://www.openssl.org/source/license.html 取得副本。