OpenSSL

密碼學和 SSL/TLS 工具包

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(1) 中的「提供者選項」provider(7)property(7)

注意事項

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