Apache-2.2

阻止 apache 每次重啟都詢問 SSL 密碼

  • August 14, 2017

使用該站點的說明,但稍微改變它們,我使用 -newca 創建了一個 CA,我複製cacert.pem到我的 comp 並在 IE 中作為受信任的頒發者導入。然後我做了 -newreq 和 -sign (注意:我做/full/path/CA.sh -cmd和不做sh CA.sh -cmd)並將證書和密鑰移動到 apache。

我在 IE 中訪問了該站點並使用 .NET 程式碼,它看起來很受信任,很棒(除非我在前面寫了 www. 這是預期的)。但是每次我重新啟動 apache 時,我都需要輸入我的網站密碼。

我怎樣才能做到,所以我不需要輸入密碼?

您想從密鑰文件中刪除密碼。執行這個:

openssl rsa -in key.pem -out newkey.pem

請注意,這意味著任何可以物理訪問伺服器的人都可以複製(從而濫用)密鑰。

過去,我一直因為從自己的密鑰文件中刪除密碼而感到內疚,因為這是最簡單的解決方案,但在安全方面,這不是最好的主意。另一種方法是將密碼提供給 Apache。您可以使用您(或它包含的其他文件)中的SSLPassPhraseDialog選項來執行此操作。httpd.conf

如果您的伺服器上只有一個 SSL 站點,最簡單的形式是:

# either of these will work
SSLPassPhraseDialog |/path/to/passphrase-script
SSLPassPhraseDialog exec:/path/to/passphrase-script

然後,您將創建一個非常簡單的腳本,名為/path/to/passphrase-script,其中包含如下內容:

#!/bin/sh
echo "put the passphrase here"

啟動時,Apache 將獲取此腳本的輸出並將其用作您的 SSL 密鑰的密碼。如果您有多個 SSL 站點,SSLPassPhraseDialog則可以使用其他方式,因此您可以為所有密鑰設置一個腳本,或者為每個密鑰設置一個單獨的腳本,或者您想要這樣做。

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