Authentication

將 Apache 配置為需要客戶端證書

  • June 27, 2017

我想用 apache web 伺服器實現相互認證(雙向)。

參考

1.使用 CA 根密鑰簽署 CSR 失敗

2.添加 CA 簽署的客戶端證書時 Firefox 錯誤消息

經過許多步驟:

  1. 通過編輯 ssl.conf 將 Apache 2.0 SSL 配置為接受 https。
  2. 使用 OpenSSL 創建證書頒發機構並將其導入 Web 瀏覽器$$ link $$
  3. 創建 Web 伺服器證書並由 CA 簽名並將其作為 apache 證書。$$ link $$
  4. 創建客戶端證書並由 CA 簽名並將其導出為 PKCS#12 格式$$ link $$並將其導入網路瀏覽器

我現在可以通過 https 訪問伺服器,但對所有使用者都是如此。

我只希望我給他們一個 CA 簽名證書的授權使用者訪問我伺服器上的網頁。我需要 /etc/httpd/conf.d/ssl.conf 按照本教程編輯 ssl.conf ,我對 ssl.conf 做了這個​​:

SSLVerifyClient require
SSLVerifyDepth 2

更新#1:

當然,我已將證書設置為 CA 簽名的證書:

#   Server Certificate:
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /var/www/sslConf/server.crt
#   Server Private Key:
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /var/www/sslConf/server.key

結果我收到了這條消息,並在按下 ok 這條消息後 (在 firefox 中)。我犯了什麼錯誤?

查看 Apache 日誌以查看問題所在。看起來 apache 無法驗證客戶端證書。

您是否正確設置了 SSLCACertificateFile 指令?這是必要的,否則 apache 無法驗證證書。

引用自:https://unix.stackexchange.com/questions/73945