如何为CAS和客户端(不同的机器)设置SSL



如何在不同的机器上为CAS服务器和客户端设置ssl证书(自签名)

  • CAS服务器:Linux、Tomcat、jdk6
  • 客户端:windows、Tomcat、jdk6
  • 证书:自签名(keytool)
  • 环境:发展

CAS和客户端在单台机器上运行良好,如果使用不同的机器,则抛出证书错误。

客户端和服务器机器是否都能找到一个自签名证书?

任何特定的客户端和服务器设置更改都是必需的,如服务器计算机名称和证书创建的客户端计算机名称

您能添加您正在获得的异常以及在哪个节点中吗?

作为一般建议,请注意:

1) 如果在cas客户端和cas服务器之间的服务器端使用https通信,则必须在客户端JVM计算机上安装证书

2) JVM将不接受(在运行时)CN(通用名称)中包含ip的自签名证书。

请参阅https://wiki.jasig.org/display/CASUM/SSL+故障排除+和+参考+指南了解更多详细信息


因此,从您发布的异常来看,似乎是以下情况(引用自上面的CAS故障排除链接):

不存在主题替换名称示例替换名称堆栈跟踪javax.net.ssl.ssl握手异常:java.security.cert.CertificateException:没有主题替代名称present在大多数情况下,这是主机名/SSL证书CN不匹配。

当自签名证书颁发给localhost位于通过IP地址访问的机器上。它应该注意的是,为通用名称,例如CN=1192.168.1.1,OU=Middleware,dc=vt,dc=edu,将不会在大多数情况下,进行连接的客户端是Java。对于示例:Java CAS客户端在连接到CAS服务器使用包含中IP地址的证书进行保护CN.

您是否解决了用域名而不是ip更改证书,然后在CAS客户端的系统信任存储库和CAS服务器的密钥存储库中重新安装证书的问题?

最新更新