openssl-rsa
名稱
openssl-rsa - RSA 金鑰處理指令
語法
openssl rsa [-help] [-inform DER|PEM|P12|ENGINE] [-outform DER|PEM] [-in filename|uri] [-passin arg] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-traditional] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-pvk-strong] [-pvk-weak] [-pvk-none] [-engine id] [-provider name] [-provider-path path] [-propquery propq]
說明
此指令處理 RSA 金鑰。它們可以在各種格式之間轉換,並列印其組成部分。
選項
- -help
-
列印使用說明訊息。
- -inform DER|PEM|P12|ENGINE
-
金鑰輸入格式;預設未指定。有關詳細資訊,請參閱 openssl-format-options(1)。
- -outform DER|PEM
-
金鑰輸出格式;預設為 PEM。有關詳細資訊,請參閱 openssl-format-options(1)。
- -traditional
-
寫入私人金鑰時,使用傳統的 PKCS#1 格式,而不是 PKCS#8 格式。
- -in filename|uri
-
指定要從中讀取金鑰的輸入,或如果未指定此選項,則指定標準輸入。如果金鑰已加密,系統會提示輸入密碼。
- -passin arg, -passout arg
-
輸入和輸出檔案的密碼來源。有關 arg 格式的詳細資訊,請參閱 openssl-passphrase-options(1)。
- -out filename
-
指定要寫入金鑰的輸出檔名,或如果未指定此選項,則指定標準輸出。如果設定任何加密選項,系統會提示輸入密碼。輸出檔名不應與輸入檔名相同。
- -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
-
這些選項會使用指定的密碼加密私鑰,然後再輸出。系統會提示輸入密碼。如果未指定任何這些選項,則會以純文字寫入金鑰。這表示此命令可用於移除金鑰的密碼(不提供任何加密選項),或透過設定密碼來新增或變更密碼。這些選項只能與 PEM 格式的輸出檔案搭配使用。
- -text
-
除了編碼版本外,還會以純文字列印各種公鑰或私鑰組件。
- -noout
-
此選項會防止輸出金鑰的編碼版本。
- -modulus
-
此選項會列印金鑰模數的值。
- -check
-
此選項會檢查 RSA 私鑰的一致性。
- -pubin
-
預設情況下,會從輸入讀取私鑰。使用此選項時,會改為讀取公鑰。如果輸入不包含公鑰,但包含私鑰,則會使用其公用部分。
- -pubout
-
預設情況下,會輸出私鑰:使用此選項時,會改為輸出公鑰。如果輸入為公鑰,則會自動設定此選項。
- -RSAPublicKey_in, -RSAPublicKey_out
-
與 -pubin 和 -pubout 類似,但改用 RSAPublicKey 格式。
- -pvk-strong
-
啟用「強」PVK 編碼層級(預設值)。
- -pvk-weak
-
啟用「弱」PVK 編碼層級。
- -pvk-none
-
不強制執行 PVK 編碼。
- -engine id
-
請參閱 openssl(1) 中的「引擎選項」。此選項已不建議使用。
- -provider name
- -provider-path path
- -propquery propq
注意事項
openssl-pkey(1) 命令可以執行此命令的所有操作,並支援其他公鑰類型。
範例
openssl-pkey(1) 命令的文件包含等同於下列所列範例的範例。
移除 RSA 私鑰的密碼
openssl rsa -in key.pem -out keyout.pem
使用三重 DES 加密私鑰
openssl rsa -in key.pem -des3 -out keyout.pem
將私鑰從 PEM 轉換為 DER 格式
openssl rsa -in key.pem -outform DER -out keyout.der
將私鑰的組件列印到標準輸出
openssl rsa -in key.pem -text -noout
僅輸出私鑰的公用部分
openssl rsa -in key.pem -pubout -out pubkey.pem
以 RSAPublicKey 格式輸出私鑰的公用部分
openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
錯誤
應該有一個選項可以自動處理 .key 檔案,而不需要手動編輯。
另請參閱
openssl(1)、openssl-pkey(1)、openssl-pkcs8(1)、openssl-dsa(1)、openssl-genrsa(1)、openssl-gendsa(1)
歷史
-engine 選項已在 OpenSSL 3.0 中棄用。
版權
版權所有 2000-2023 The OpenSSL Project Authors。保留所有權利。
根據 Apache 授權條款 2.0 版(「授權條款」)授權。您只能在遵守授權條款的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案中或在 https://www.openssl.org/source/license.html 中取得一份副本。