Apache-2.2

是否可以在沒有密碼的情況下生成 RSA 密鑰?

  • January 9, 2021

我正在與 Apache2 和 Passenger 合作進行 Rails 項目。我想創建一個自簽名SSL 證書用於測試目的。

sudo openssl rsa -des3 -in server.key -out server.key.new

當我輸入上面的命令時,它說

writing RSA key
Enter PEM pass phrase:

如果我沒有輸入密碼,我會收到以下錯誤

unable to write key
3079317228:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:869:Yo
u must type in 4 to 1024 characters
3079317228:error:0906406D:PEM routines:PEM_def_callback:problems getting passwor
d:pem_lib.c:111:
3079317228:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:pem_lib.c:382

是否可以在不提供的情況下生成 RSA 密鑰pass phrase,因為我不確定/etc/init.d/httpd腳本將如何在沒有人工干預的情況下啟動 HTTP 伺服器(即,如果我提供 4 個字元的密碼,它希望我在啟動 Apache HTTP 伺服器時提供這個)。

如果要生成自簽名證書,則可以在一個命令中同時執行密鑰和證書,如下所示:

openssl req  -nodes -new -x509  -keyout server.key -out server.cert

哦,還有@MadHatter 在他的回答中關於省略-des3標誌的說法。

去掉-des3標誌,這是一個指令 openssl 加密 server.key.new (順便說一下,它根本不是新密鑰 - 它與 server.key 完全相同,只是密碼片語更改/剝離) .

引用自:https://serverfault.com/questions/366372