OpenSSL

密碼學和 SSL/TLS 工具包

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。

另請參閱

openssl(1)openssl-ca(1)

歷史記錄

-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 取得副本。