openssl-ec
名稱
openssl-ec - EC 金鑰處理
語法
openssl ec [-help] [-inform DER|PEM|P12|ENGINE] [-outform DER|PEM] [-in filename|uri] [-passin arg] [-out filename] [-passout arg] [-des] [-des3] [-idea] [-text] [-noout] [-param_out] [-pubin] [-pubout] [-conv_form arg] [-param_enc arg] [-no_public] [-check] [-engine id] [-provider name] [-provider-path path] [-propquery propq]
說明
openssl-ec(1) 指令處理 EC 金鑰。它們可以在各種格式之間轉換,並且列印其組成部分。注意 OpenSSL 使用「SEC 1:橢圓曲線密碼編譯」(http://www.secg.org/) 中指定的私鑰格式。若要將 OpenSSL EC 私鑰轉換為 PKCS#8 私鑰格式,請使用 openssl-pkcs8(1) 指令。
選項
- -help
-
列印使用說明。
- -inform DER|PEM|P12|ENGINE
-
金鑰輸入格式;預設未指定。有關詳細資訊,請參閱 openssl-format-options(1)。
- -outform DER|PEM
-
金鑰輸出格式;預設值為 PEM。有關詳細資訊,請參閱 openssl-format-options(1)。
私鑰為 SEC1 私鑰或 PKCS#8 格式。公鑰為 IETF RFC 3280 中指定的 SubjectPublicKeyInfo。
- -in filename|uri
-
這指定要從中讀取金鑰的輸入,如果未指定此選項,則為標準輸入。如果金鑰已加密,系統會提示輸入密碼。
- -out filename
-
這指定要寫入金鑰的輸出檔名,如果未指定,則為標準輸出。如果設定任何加密選項,系統會提示輸入密碼。輸出檔名不應與輸入檔名相同。
- -passin arg, -passout arg
-
輸入和輸出檔案的密碼來源。有關 arg 格式的詳細資訊,請參閱 openssl-passphrase-options(1)。
- -des|-des3|-idea
-
這些選項會在輸出私密金鑰前使用 DES、三重 DES、IDEA 或 OpenSSL 支援的任何其他加密演算法對其進行加密。系統會提示輸入密碼。如果未指定這些選項,金鑰會以純文字寫入。這表示使用此命令讀取未加密的加密金鑰且不使用加密選項,可移除金鑰的密碼,或透過設定加密選項,可新增或變更密碼。這些選項只能與 PEM 格式的輸出檔案搭配使用。
- -text
-
列印公開、私密金鑰元件和參數。
- -noout
-
此選項會阻止輸出金鑰的編碼版本。
- -param_out
-
列印橢圓曲線參數。
- -pubin
-
預設會從輸入讀取私密金鑰。使用此選項會改為讀取公開金鑰。如果輸入不包含公開金鑰但包含私密金鑰,則會使用其公開部分。
- -pubout
-
預設會輸出私密金鑰。使用此選項會改為輸出公開金鑰。如果輸入是公開金鑰,此選項會自動設定。
- -conv_form arg
-
此選項會指定如何將橢圓曲線上的點轉換為八進位字串。可能的數值為:compressed(壓縮)、uncompressed(未壓縮,預設值)和 hybrid(混合)。有關點轉換形式的詳細資訊,請參閱 X9.62 標準。注意由於專利問題,compressed 選項預設會對二進位曲線停用,且可在編譯時定義預處理器巨集 OPENSSL_EC_BIN_PT_COMP 來啟用。
- -param_enc arg
-
此選項會指定如何編碼橢圓曲線參數。可能的數值為:named_curve,亦即 ec 參數由 OID 指定,或 explicit,其中 ec 參數明確給出(請參閱 RFC 3279 以取得 EC 參數結構的定義)。預設值為 named_curve。注意 RFC 3279 中指定的 implicitlyCA 選項目前未在 OpenSSL 中實作。
- -no_public
-
此選項會從私密金鑰輸出中省略公開金鑰元件。
- -check
-
此選項會檢查 EC 私密或公開金鑰的一致性。
- -engine id
-
請參閱 openssl(1) 中的「引擎選項」。此選項已過時。
- -provider name
- -provider-path 路徑
- -propquery propq
openssl-pkey(1) 指令能夠執行此指令的所有作業,並支援其他公開金鑰類型。
範例
openssl-pkey(1) 指令的文件包含與此處列出的範例等效的範例。
使用三重 DES 加密私鑰
openssl ec -in key.pem -des3 -out keyout.pem
將私鑰從 PEM 轉換為 DER 格式
openssl ec -in key.pem -outform DER -out keyout.der
將私鑰的組成輸出到標準輸出
openssl ec -in key.pem -text -noout
僅輸出私鑰的公開部分
openssl ec -in key.pem -pubout -out pubkey.pem
將參數編碼變更為 明確
openssl ec -in key.pem -param_enc explicit -out keyout.pem
將點轉換形式變更為 壓縮
openssl ec -in key.pem -conv_form compressed -out keyout.pem
另請參閱
openssl(1)、openssl-pkey(1)、openssl-ecparam(1)、openssl-dsa(1)、openssl-rsa(1)
歷程
-engine 選項已在 OpenSSL 3.0 中棄用。
-conv_form 和 -no_public 選項不再支援從 OpenSSL 3.0 中的引擎載入的鑰匙。
版權
版權所有 2003-2023 The OpenSSL Project Authors。保留所有權利。
根據 Apache 授權條款 2.0 (「授權條款」) 授權。您不得在不遵守授權條款的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案中取得一份副本,或在 https://www.openssl.org/source/license.html 取得。