使用cas+apache时的证书(mod_auth_cas)

使用cas+apache时的证书(mod_auth_cas)

我在一台服务器上运行 CAS 身份验证,并在本地网络上的单独服务器上运行需要保护的网站。

当我在同一台服务器上同时运行 CAS 和 Apache 时,它​​们工作正常。当我将它们分离到两个不同的物理主机上时,它们就不再工作了。

CAS 登录工作正常,但是当我登录后重定向回我的 apache 时,我在 apache 日志中收到此信息::

"mod_auth_cas: Could not perform SSL handshake with example.casserver.com (check CASCertificatePath)".

我检查了 CASCertificatePath,并确认它指向正确的证书(CAS 服务器的证书)。我通过将证书从 cas-host 复制到 apache-host 来获取证书,并确认该文件可读,并且 URL 解析正确。

有谁知道可能出了什么问题?

由于我只是在有限的本地网络中执行此操作,因此没有必要涉及 CA,因此 CAS 服务器使用的证书是由 jdk-tool 制作的简单自签名证书:

keytool -genkey -keyalg "RSA" -dname

这是问题吗?mod_auth_cas 是否要求证书由 CA 签名,例如通过使用 TinyCA2 为网络创建我自己的 CA?

答案1

我找到了问题的解决方案。我的 apache 和 cas 配置是正确的,但 OpenSKD 中的一个错误阻止了 TLSv1 中的正确证书提取。我在使用“openssl s_client”调试 SSL 端口时发现了这一点,对于这种情况来说,这是一个很好的调试工具。

我卸载了 OpenSDK,安装了 SunSDK,然后将证书重新导入到 sun 信任的 castore 中,一切都运行正常。

相关内容