2015-05-04 56 views
1

我想爲網站實施雙向SSL身份驗證。我找不到了很多關於這個文檔....爲網站設置雙向SSL身份驗證

我想是類似於startssl如果有東西:

  • 創建一個客戶端證書,並在瀏覽器上(註冊)安裝
  • 檢查試圖訪問某個頁面時(登錄)SSL客戶端證書

我發現這個教程:https://www.scriptjunkie.us/2013/11/adding-easy-ssl-client-authentication-to-any-webapp/,我跟着它一步一步....

這是我嘗試的網站:https://cert.devpgsv.com/getacert.php

(的「getacert.php」的代碼是在這裏:https://cert.devpgsv.com/code.php

(我已經啓用訪問.htaccess文件中的情況下,它是非常有用的)

我現在的主要問題是:試圖生成證書時,瀏覽器顯示:

El servidor a devuelto un certificado de cliente no valido. Error 207 (net:::ERR_CERT_INVALID) 

在谷歌Chrome瀏覽器中顯示錯誤,但不是在網絡連接refox ......

信息:我使用Debian上安裝的Apache2。

感謝您的幫助!

回答

0

此警告是一個相當簡單的「未定義索引」警告,您在嘗試訪問不存在的數組密鑰時在PHP中獲得警告。在檢查密鑰的值之前,檢查密鑰是否使用if (array_key_exists('SSL_CLIENT_S_DN_CN', $_SERVER))

+0

我知道它不存在。我不知道的是爲什麼。 我需要這個值,所以它應該在那裏...... 如果我檢查密鑰是否存在並且失敗......那麼我如何獲得應該在SSL_CLIENT_S_DN_CN中的內容? – DevPGSV

+0

你真的在發送證書嗎?因爲如果沒有,它將不存在。我無法告訴你證書信息如何在$ _SERVER中結束,因爲我沒有使用這種客戶端身份驗證方法的經驗。 – MueR

1

找到答案!

在較新版本的php中,我一直在尋找的值在默認情況下不存在。這是隻有在符合某些條件,有...

我必須在我的.htaccess 添加SSLOptions +ExportCertData +StdEnvVars然後我changd我在那裏運行命令,使「WWW的數據」可能geenrate該文件夾的權限證書。