大学で行っているプロジェクトとの CAS 統合を行っています。最終的な統合は symfony2 で行う必要がありますが、最初にサンプル コードを機能させる必要があります。
私は最終的にexample_simple.phpの例をphpCAS 1.3.2で動作させますが、ディレクティブは次のとおりです。
phpCAS::setNoCasServerValidation();
有効なものです。代わりに使用する必要があると思います:
phpCAS::setCasServerCACert($cas_server_ca_cert_path);
ただし、この 2 つ目を有効にすると (そしてもう 1 つを無効にすると)、認証が機能しなくなります。ログの関連する出力行エラーは次のとおりです。
could not open URL 'https://cas_server.fi/cas/serviceValidate?service=http%3A%2F%2Flocalhost%2Fphpcas2%2Fdocs%2Fexamples%2Fexample_simple.php&ticket=ST-115606-M1Omd1cHWzbLbmxa1nYV-cas' to validate (CURL error #60: SSL certificate problem: unable to get local issuer certificate) [Client.php:2763]
cas サーバーから 2 つの .crt ファイルが提供されました。
- MYCASRootCA.crt
- MYCASLinuxSUBCA.crt
そして、それらは私のシステム(Ubuntu 13.10)にインストールされると想定されています。それらは /etc/ssl/certs/MYCASLinuxSUBCA.pem などの別の場所にありますが、次の場所もあります。
- /usr/share/ca-certificates/lut/MYCASRootCA.crt
- /usr/share/ca-certificates/lut/MYCASLinuxSUBCA.crt
したがって、変数 $cas_server_ca_cert_path にこれらの .crt ファイルまたは .pem ディレクトリ ( /usr/share/ca-certificates/lut/MYCASLinuxSUBCA.crtなど) のいずれかが必要であると仮定すると、それを機能させることはできません。私はそれを間違っていますか?クライアント サーバー (cas サーバーではない) はローカルホストにあります。それって問題ですか?setCasServerCACert コマンドの使用を避けるべきですか? なぜそれが起こっているのですか?
また、XAMP インストール (Xampp 1.8.3) によって提供される curl-ca-bundle.crt 証明書を使用しようとしました。
ご覧のとおり、証明書について少し迷っています。
https://github.com/Jasig/phpCAS/issues?state=openで、phpCAS と最近の Ubuntu バージョンの問題について読みました。ただし、認証がなくても(デフォルトで)マスターコードでこれを機能させることはできません。
どんなアイデアでも大歓迎です...