耶魯 CAS 配置
拷貝 cas.war 到 tomcat/webapps
拷貝 casclient.jar 到 tomcat/common/lib 下
添加下面的配置到自己 war 中 web.xml 頂部
<filter>
??? <filter-name>CAS Filter</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:8080</param-value>
??? </init-param>
? </filter>
?
? <filter-mapping>
??? <filter-name>CAS Filter</filter-name>
??? <url-pattern>/*</url-pattern>
? </filter-mapping>
?
tomcat/conf/server.xml 打開 8443 那個 connector.
如果沒有就添加 :
?? <Connector port="8443" maxHttpHeaderSize="8192"
?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
?????????????? enableLookups="false" disableUploadTimeout="true"
?????????????? acceptCount="100" scheme="https" secure="true"
?????????????? clientAuth="false" sslProtocol="TLS" />
執行 :
%java_home%\bin\keytool -genkey -alias tomcat -keyalg RSA
?
名字 : localhost.
密碼 :changeit
其他 , 隨便
Export the certificate from the .keystore file to a file called server.crt.
?
?????? %java_home%\bin\keytool -export -alias tomcat -file server.crt
?
Import the certificate into the default jvm truststore.
?
?????? %java_home%\bin\keytool -import -file server.crt -keystore ./jre/lib/security/cacerts
密碼 :changeit
Test the SSL configuration by entering https://localhost:8443.
訪問應用
:http://localhost:8080/…..
配置是經常遇到的報錯:
1 、 C:\Program Files\Java\jdk1.5.0_06\bin>keytool -genkey -alias tomcat -keyalg RSA
輸入 keystore 密碼: ? changeit
keytool 錯誤: java.io.IOException: Keystore was tampered with, or password was i
ncorrect
原因:系統中有了 *.keystore 文件,刪除此文件可解決問題。此文件通常在 C:\Documents and Settings\Administrator 目錄之下。
2 、 C:\Program Files\Java\jdk1.5.0_06>keytool -import -file server.crt -keystore ./j
re/lib/security/cacerts
輸入 keystore 密碼: ? changeit
keytool 錯誤: java.io.FileNotFoundException: server.crt ( 系統找不到指定的文件。 )
原因:
是否做了下面這一步:
C:\Program Files\Java\jdk1.5.0_06\bin>keytool -export -alias tomcat -file server
.crt
輸入 keystore 密碼: ? changeit
保存在文件中的認證 <server.crt>
做完這步之后,稍等片刻,因為 server.crt 是在這步生成的,但是生成的時間比較長。通常在你操作下一步的時候它還沒有生成,因此在配置的時候可能報錯。
?
操作過程:
1 、 C:\Program Files\Java\jdk1.5.0_06\bin>keytool -genkey -alias tomcat -keyalg RSA
輸入 keystore 密碼: ? changeit
您的名字與姓氏是什么?
? [Unknown] : ? localhost
您的組織單位名稱是什么?
? [Unknown] : ? er
您的組織名稱是什么?
? [Unknown] : ? se
您所在的城市或區域名稱是什么?
? [Unknown] : ? sd
您所在的州或省份名稱是什么?
? [Unknown] : ? sdf
該單位的兩字母國家代碼是什么
? [Unknown] : ? sdf
CN=localhost, OU=er, O=se, L=sd, ST=sdf, C=sdf 正確嗎?
? [ 否 ] : ? y
?
2 、輸入 <tomcat> 的主密碼
??????? (如果和 keystore 密碼相同,按回車): ? changeit
?
3 、 C:\Program Files\Java\jdk1.5.0_06\bin>keytool -export -alias tomcat -file server
.crt
輸入 keystore 密碼: ? changeit
保存在文件中的認證 <server.crt>
4 、 C:\Program Files\Java\jdk1.5.0_06>keytool -import -file server.crt -keystore ./j
re/lib/security/cacerts
輸入 keystore 密碼: ? changeit
Owner: CN=localhost, OU=er, O=se, L=sd, ST=sdf, C=sdf
發照者: CN=localhost, OU=er, O=se, L=sd, ST=sdf, C=sdf
序號: 4504c0e7
有效期間: Mon Sep 11 09:50:31 CST 2006 至: Sun Dec 10 09:50:31 CST 2006
認證指紋:
???????? MD5 : ? 58:1E:6A:C2:9C:BB:8C:DF:5B:5C:79:B9:2E:FF:EE:45
???????? SHA1 : 02:7C:32:16:24:B1:7F:32:8C:84:96:E6:77:87:0A:1C:31:7B:C8:32
信任這個認證? [ 否 ] : ? y
認證已添加至 keystore 中