Single sign on 如何为CAS和客户端(不同的计算机)设置SSL

Single sign on 如何为CAS和客户端(不同的计算机)设置SSL,single-sign-on,cas,Single Sign On,Cas,如何在不同的计算机上为CAS服务器和客户端设置ssl证书(自签名) CAS服务器:Linux、Tomcat、jdk6 客户端:windows、Tomcat、jdk6 证书:自签名(keytool) 环境:发展 CAS和客户端在单台机器上工作正常,如果使用不同的机器,则会抛出证书错误 对于客户端和服务器计算机,单个自签名证书是否足够 任何特定的客户端和服务器设置更改都是必需的,例如用于创建证书的服务器计算机名和客户端计算机名您可以添加正在获取的异常以及在哪个节点中 作为一般建议,请注意: 1)

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

  • CAS服务器:Linux、Tomcat、jdk6
  • 客户端:windows、Tomcat、jdk6
  • 证书:自签名(keytool)
  • 环境:发展
CAS和客户端在单台机器上工作正常,如果使用不同的机器,则会抛出证书错误

对于客户端和服务器计算机,单个自签名证书是否足够


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

您可以添加正在获取的异常以及在哪个节点中

作为一般建议,请注意:

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

2) JVM将不接受(在运行时)具有CN(公共名称)中ip的自签名证书

有关更多详细信息,请参阅


因此,从您发布的异常来看,似乎是以下情况(引自上面的CAS疑难解答链接):

没有主题替代名称显示示例Alt Name堆栈跟踪
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:没有主题替代名称 在大多数情况下,这是主机名/SSL证书CN不匹配

这通常发生在向用户颁发自签名证书时 localhost位于通过IP地址访问的计算机上。信息技术 应该注意的是,生成具有IP地址的证书 通用名称,例如CN=192.168.1.1,OU=Middleware,dc=vt,dc=edu,将不会 在建立连接的客户端是Java的大多数情况下工作。对于 示例Java CAS客户端将在连接到服务器时抛出SSL错误 CAS服务器由包含IP地址的证书保护 中国


您是否已解决使用域名而不是ip更改证书,然后将其重新安装到CAS服务器的和密钥库中的问题

javax.net.ssl.SSLHandshakeException:java.security.cert.certificateeexception:No subject alternative names presenti为CA名称提供服务器名称,如cas-dev-server01我认为您应该在CN中放置域名,然后使用cas客户端计算机中的lmhosts文件将其映射到cas服务器ip(或者您可以使用本地DNS服务器)。我认为您应该在CN中放置域名(如cas-dev-server01.mydomain.com),然后使用cas客户端计算机中的lmhosts文件将其映射到cas服务器ip(或者您可以使用本地DNS服务器)。这个问题只会发生在CN中具有IP地址的自签名证书上,如果IP地址证书由授权机构签名,则不会发生。您不需要域控制器。只需添加/编辑将cas-dev-server01.mydomain.com映射到ip地址的lmhosts文件,并确保证书CN=cas-dev-server01.mydomain.com。有关windows下的lmhosts文件,请参阅