锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
cas-server-3.0.4.zip聽聽聽聽聽聽聽聽聽聽聽聽聽聽
http://www.ja-sig.org/downloads/cas/cas-server-3.0.4.zip
cas-client-2.0.11.zip聽
http://www.ja-sig.org/downloads/cas-clients/cas-client-2.0.11.zip
鐜涓?winxp聽 tomcat5.5.17聽 jdk1.5.0_05
1. 鐢熸垚鏈嶅姟绔瘉涔?br />keytool -genkey -alias casserver -keyalg RSA -keystore tomcat.jks
CN錛歭ocalhost
鍏朵粬鐨勯殢渚柯犅?
榪欓噷瑕佹敞鎰忓鍚嶅繀欏繪槸鏈嶅姟鍣ㄧ殑鍩熷悕 鐢變簬鎴戞槸鍦ㄦ湰鏈烘墍浠ユ槸localhost
濡傛灉涓嶈繖鏍峰啓灝變細(xì)鎶ュ涓嬪紓甯革細(xì)
java.io.IOException: HTTPS hostname wrong:聽 should be <localhost>
榪欎釜寮傚父鍑虹幇鍦ㄥ垱寤鴻瘉涔︾殑絎竴涓棶棰?濮撳悕銆傚叾瀹炶繖涓滃鍚嶁濆簲璇ユ槸鍩熷悕銆傛瘮濡傝localhost鎴栨槸blogjava.net涔嬬被鐨勩傝緭鎴愪簡濮撳悕錛屽拰鐪熸榪愯鐨勬椂鍊欏煙鍚嶄笉絎︼紝灝變細(xì)鍑洪敊銆傛祻瑙堝櫒鏃犳墍璋擄紝寮瑰嚭涓涓璇濇錛岀敤鎴鋒寜涓涓嬪氨琛屼簡銆備絾http client灝辯洿鎺ユ姏鍑轟簡寮傚父銆?-google鍑烘潵鐨?br />
2. 瀵煎嚭璇佷功
keytool -export -file cas.cer -alias聽tomcat -keystore tomcat.jks
3.鎶婂鍑虹殑璇佷功瀵煎叆鍒癹re/lib/security鐨刢acerts涓?br />榪欓噷鍙堟湁涓鐐硅娉ㄦ剰鐨劼犅?鍙兘鐢變簬鎴戠殑jre鍦ㄧ嚎鍗囩駭榪囦竴嬈?鐜板湪鐨勫伐浣滅殑jre鐩綍鍦–:\Program Files\Java\jre1.5.0_06\ 鎵浠ヨ鎶婅瘉涔﹀鍏ュ埌C:\Program Files\Java\jre1.5.0_06\lib\security鐨刢acerts涓幓
鎴戜竴寮濮嬪氨鏄洜涓?瀵煎叆鍒頒簡%JAVA_HOME%鐨刯re涓?緇撴灉寮勪簡鍗婂ぉ閮戒笉鎴愬姛鎶ュ紓甯稿涓嬶細(xì)
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
4.閰嶇疆tomcat浣跨敤ssl
<Connector port="8443" maxHttpHeaderSize="8192"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 enableLookups="false" disableUploadTimeout="true"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 acceptCount="100" scheme="https" secure="true"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 clientAuth="false"http://鍗曞悜SSL
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 keystoreFile="C:\tomcat.jks" //鎴戠敓鎴愮殑keystore瀛樻斁鍦╟鐩?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽 sslProtocol="TLS" />
5.
閮ㄧ講CAS搴旂敤
聽
瑙e帇
cas-server-
6.瀹㈡埛绔厤緗?br />涓嬭澆cas-client-2.0.11.zip
鎶?/font>
java/lib/casclient.jar鑰冨埌 浣犳墍鍙戝竷鐨剋ebapp鐨刉EB-INF/lib涓?br />淇敼WEB-INF/web.xml 鍦ㄩ噷闈㈡坊鍔犺繃婊ゅ櫒
聽聽聽 <filter>
聽聽聽聽聽聽聽 <filter-name>CASFilter</filter-name>
聽聽聽聽聽聽聽 <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
聽聽聽聽聽聽聽 <init-param>
聽聽聽聽聽聽聽聽聽聽 <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
聽聽聽聽聽聽聽聽聽聽 <param-value>https://localhost:8443/cas/login</param-value>
聽聽聽聽聽聽聽 </init-param>
聽聽聽聽聽聽聽 <init-param>
聽聽聽聽聽聽聽聽聽聽 <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
聽聽聽聽聽聽聽聽聽聽 <param-value>https://localhost:8443/cas/proxyValidate</param-value>
聽聽聽聽聽聽聽 </init-param>
聽聽聽聽聽聽聽 <init-param>
聽聽聽聽聽聽聽聽聽 <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
聽聽聽聽聽聽聽聽聽 <param-value>localhost:8443</param-value>
聽聽聽聽聽聽聽 </init-param>
聽聽聽 </filter>
聽聽聽
聽聽聽 <filter-mapping>
聽聽聽聽聽聽聽 <filter-name>CASFilter</filter-name>
聽聽聽聽聽聽聽 <url-pattern>/*</url-pattern>
聽聽聽 </filter-mapping>
鎶婇噷闈㈢殑localhost鎹㈡垚鍩熷悕
8443鎹㈡垚浣犳墍浣跨敤鐨勭鍙?/font>
鎺ョ潃榪炴帴
https://localhost:8443/app1
聽聽 //app1鏄綘瑕佸疄鐜皊so鐨剋eb搴旂敤
鎺ョ潃欏甸潰灝變細(xì)璺寵漿鍒癱as鐨勭櫥闄嗛〉闈?灝卞儚浣犲湪絎?姝ョ湅鍒扮殑欏甸潰涓鏍?
闅忎究鐢ㄤ竴涓敤鎴峰悕鐧婚檰 鍙 鐢ㄦ埛鍚嶅拰瀵嗙爜涓鏍峰氨鍙互鐧婚檰
鍙互鍦╝pp2涓婇噸澶嶆楠? 榪欐牱鍙鍦╝pp1涓婄櫥闄嗗悗 鍐嶈繛鎺pp2鐨剈rl灝變笉鐢ㄥ啀嬈$櫥闄嗕簡
榪欏氨鏄崟鐐圭櫥闄嗕簡銆?/font>
聽鍏跺疄鏄竴涓緢綆鍗曠殑浜嬫儏 浣嗘槸榪囩▼涓娉ㄦ剰 姝ラ1鍜?
聽
聽
聽
聽