1

Zend Framework 1.12 を使用して構築された PHP アプリから Windows AD サーバーに対して LAMP システムから認証しています。Zend_Ldap を使用して接続しています。安全な接続、つまり LDAP over LDAPS を使用しない場合、認証プロセスは正常に機能します。ただし、AD サーバーでパスワードをリセットするなど、Web アプリから他の操作を実行できるようにしたいと考えています。ただし、これには安全な接続が必要です。

最初にいくつかの背景情報

私の Web アプリケーションは、自己署名証明書を使用して HTTPS 接続 (https://intranet) から実行されます。自己署名証明書が 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 を使用した経験のある人はいますか?

4

1 に答える 1

3

さて、もう少し読んでみると、私の問題はサーバーに関連していることがわかりました。

WindowsADサーバーからLinuxボックスの/etc/ openldap / certsにある証明書ストアにCA証明書をインポートし、/ etc / openldap/ldap.confを編集して次のようにする必要がありました。

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

LDAPSを使用してWindowsADServerに安全に接続できるようになりました。

于 2012-12-20T08:11:57.757 に答える