网上很多文章说要使用CAS单点登录必须要配置域名, cas server是不能通过ip访问的,这实际上是错误的,这和cas无关。生成的证书一定要这样
错误: unable to find valid certification path to requested target
生成证书:
keytool -genkeypair -alias cas41key -keyalg RSA -keysize 1024 -keypass 1
23456 -storepass 123456 -dname "CN=192.168.7.87,OU=csoa,O=csoa,L=
FZ,ST=FZ,C=CN" -ext san=ip:192.168.7.87 -validity 3600 -keystore /home
/nloa/bak/cas41.keystore
从生成的KeyStore提取cer证书
keytool -exportcert -keystore C:\Users\i343740\Desktop\p12test.keyst
ore -file C:\Users\i343740\Desktop\p12test.cer -alias serverkey
导入cer证书到JDK和JRE
使用CMD导入,密钥库口令changeit
JDK导入(cd 到目录 C:\Program Files\Java\jdk1.8.0_131\bin )
keytool -import -alias abc -keystore cacerts -file C:\Users\admin\Deskt
op\123.cer
JRE导入( cd 到目录 C:\Program Files\Java\jre1.8.0_131\bin )
keytool -import -alias abc -keystore cacerts -file C:\Users\admin\Deskt
op\123.cer
目的是添加到 C:\Program Files\Java\jdk1.8.0_131\jre\lib\security 下的 ca
certs 文件
但 cacerts 文件并未被覆盖
需要去C:\Program Files\Java\jre1.8.0_131\bin 下找到 cacerts 这个文
复制到 C:\Program Files\Java\jre1.8.0_131\lib\security 和 C:\Program Fil
es\Java\jdk1.8.0_131\jre\lib\security 下
Tomcat 配置
在 conf/server.xml 文件添加
<Connector port="8584" protocol="org.apache.coyote.http11.Http11
NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secu
re="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="E:\TomcatDir\Tomcat9_CAS\conf\test.keystore
"
keystorePass="123456"
/>