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

发布于 2025-01-07 08:59:37 字数 300 浏览 1 评论 0原文

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

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

CAS 和客户端在单一环境下工作正常机器,如果使用不同的机器,则会抛出证书错误。

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

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

how to setup ssl certificate(self signed) in different machines for CAS server and client

  • CAS Server : Linux , Tomcat , jdk6
  • Client : windows ,Tomcat,jdk6
  • Certificate : self signed (keytool)
  • Environment : development

CAS and Clients are working fine with single machine , if using different machine it is throwing certificate error.

whether single self signed certificate is enought for both client and server machine ?

any specific client and server settings changes are required like server machine name and client machine name for certificate creation

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

勿忘心安 2025-01-14 08:59:37

您能否添加您收到的异常以及在哪个节点中?

作为一般建议,请注意:

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

2) JVM 将不接受(在运行时)自签名证书,其 IP 地址位于 CN(通用名称)中。

请参阅https://wiki.jasig.org/display/CASUM/ SSL+Troubleshooting+and+Reference+Guide 了解更多详细信息


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

不存在主题替代名称示例替代名称堆栈跟踪
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 客户端在连接到
CAS 服务器使用包含 IP 地址的证书进行保护
中文.

您是否已解决使用域名而不是 IP 更改证书,然后在 CAS 客户端的系统信任库 以及 CAS 服务器的密钥库?

Can you please add the exception you are getting and in which node?

As a general advice, please note that:

1) you have to install the certificate on the client JVM machine if you are using https communication on the server side between the cas client and the CAS server

2) JVM will not accept (at runtime) self signed certificate with the ip in the CN (common name).

See https://wiki.jasig.org/display/CASUM/SSL+Troubleshooting+and+Reference+Guide for more details


So from the exception you posted it seems the folowing case (quoted from the CAS Troubleshooting link above):

No subject alternative names present Sample Alt Name Stack Trace
javax.net.ssl.SSLHandshakeException:
java.security.cert.CertificateException: No subject alternative names
present In most cases this is a hostname/SSL certificate CN mismatch.

This commonly happens when a self-signed certificate issued to
localhost is placed on a machine that is accessed by IP address. It
should be noted that generating a certificate with an IP address for a
common name, e.g. CN=192.168.1.1,OU=Middleware,dc=vt,dc=edu, will not
work in most cases where the client making the connection is Java. For
example the Java CAS client will throw SSL errors on connecting to a
CAS server secured with a certificate containing an IP address in the
CN.

Have you resolved changing the certificate with a domain name instead of the ip and then reinstalling it in the system truststore for the CAS client and in the keystore for the CAS server?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文