2012-12-19 154 views
1

我使用Zend Framework 1.12構建的PHP應用程序對LAMP系統對Windows AD Server進行身份驗證。我正在使用Zend_Ldap進行連接。如果我沒有使用安全連接(即基於LDAPS的LDAP),身份驗證過程可以正常工作。但是,我希望能夠從Web應用程序執行其他操作,例如重置AD服務器上的密碼。但是,這需要安全的連接。 (://內網HTTPS)使用自簽名證書使用Zend Ldap對Windows AD進行身份驗證

一些背景信息第一

我的Web應用程序從一個HTTPS連接運行。自簽名證書已添加到AD服務器上的可信存儲區。

當我運行我的劇本我收到此錯誤信息:

Error: 0x51 (Can't contact LDAP server; TLS error -8179:Peer's Certificate issuer is not recognized.): ldaps://192.168.0.x 

我的代碼如下:

$options = array(
       'host' => 192.168.0.2, 
       'accountDomainName' => domain.internal, 
       'accountDomainNameShort' => domain, 
       'accountCanonicalForm' => 3, 
       'baseDn' => "OU=Establishments,DC=domain,DC=internal" 
       'username' => 'admin', 
       'password' => 'password' 
       'useSsl' => true 
       ); 
$ldap = new Zend_Ldap($options); 
$ldap->bind(); 

我的問題是:

某處請問我的問題出在哪我代碼或與我的服務器配置?有沒有人有Zend_Ldap和AD的經驗?

回答

3

好吧,一點點的進一步閱讀顯示我的問題與服務器有關。

我需要從Windows AD服務器導入CA證書的證書存儲在在/ etc/OpenLDAP的/證書和編輯我的/etc/openldap/ldap.conf中的Linux機器,以便它讀取:

TLS_CACERT /etc/openldap/certs/mydoamin.com.pem 

我現在可以安全地將LDAPS連接到Windows AD Server。

相關問題