我正在做一个CAS整合项目,我正在做的是我的大学。最后的集成应该与symfony2一起进行,但是首先我需要使示例代码正常工作。
最后,我使用example_simple.php 1.3.2使用了phpCAS示例,但是指令:
phpCAS::setNoCasServerValidation();是启用的那个。我想我应该用:
phpCAS::setCasServerCACert($cas_server_ca_cert_path);但是,当我启用第二个(并禁用另一个)时,授权就不再起作用了。下面是日志的相关输出行错误:
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服务器为我提供了两个.crt文件:
它们应该安装在我的系统中(Ubuntu13.10)。它们在不同的地方,如/etc/ssl/certs/MYCASLinuxSUBCA.pem,但也有:
因此,假设变量$cas_server_ca_cert_path必须有其中一个.crt文件或.pem dirs (这样的一个.crt,我无法使它工作)。我做错什么了?我的客户机-服务器(不是cas服务器)在我的本地主机上。有问题吗?我应该避免使用setCasServerCACert命令吗?为什么会这样?
我还尝试使用我的XAMP分期付款(Xampp 1.8.3)提供的curl bundle.crt证书。
如你所见,我对证书有点迷茫。
我读到了phpCAS和https://github.com/Jasig/phpCAS/issues?state=open中最近的Ubuntu版本的问题。但是,即使没有认证(默认情况下),我也无法使它与主代码一起工作。
任何想法都将不胜感激..。
发布于 2014-05-24 13:50:38
我在github库中找到了一个解决方案:https://github.com/Jasig/phpCAS/issues/119
原因是PHP在我的xampp安装中使用的curl二进制与系统的curl二进制不同。系统可以访问/etc/ssl/certs/证书,但xampp curl没有(当然,除非您没有指出)。默认情况下,它在一个特殊的证书包文件中进行搜索。
最后,我已经为我的cas服务器找到了真正的证书,我正在使用它,但是如果您有类似的问题,也许您希望在讨论线程的末尾使用其他建议的解决方案。
https://stackoverflow.com/questions/23840070
复制相似问题