Microsoft Windows XP [版本 5.1.2600]
顯示證書庫中的證書使用如下命令:
keytool -list -keystore C:/Program Files/Java/jdk1.6.0/jre/lib/security/cacerts
刪除tomcat 別名的證書
keytool -delete -alias tomcat -keystore C:/Program Files/Java/jdk1.6.0/jre/lib/security/cacerts
C:/Documents and Settings/Lawrence Yang>keytool -delete -alias tomcat -keypass changeit
keytool錯誤: java.lang.Exception: Keystore 文件不存在: C:/Documents and Settings/Lawrence Yang/.keystore
C:/Documents and Settings/Lawrence Yang>keytool -genkey -alias tomcat -keypass changeit -keyalg RSA
輸入keystore密碼:
再次輸入新密碼:
您的名字與姓氏是什麼?
[Unknown]: localhost
您的組織單位名稱是什麼?
[Unknown]: egensource
您的組織名稱是什麼?
[Unknown]: egensource
您所在的城市或區域名稱是什麼?
[Unknown]: beijing
您所在的州或省份名稱是什麼?
[Unknown]: beijing
該單位的兩字母國家代碼是什麼
[Unknown]: cn
CN=localhost, OU=egensource, O=egensource, L=beijing, ST=beijing, C=cn 正確嗎?
[否]: y
C:/Documents and Settings/Lawrence Yang>keytool -export -alias tomcat -keypass changeit -file server.crt
輸入keystore密碼:
保存在文件中的認證 <server.crt>
C:/Documents and Settings/Lawrence Yang>keytool -import -file server.crt -keypass changeit -keystore "c:/Program Files/Java/jdk1.6.0/jre/lib/security/cacerts"
輸入keystore密碼:
所有者:CN=localhost, OU=egensource, O=egensource, L=beijing, ST=beijing, C=cn
簽發人:CN=localhost, OU=egensource, O=egensource, L=beijing, ST=beijing, C=cn
序列號:47e86791
有效期: Tue Mar 25 10:46:41 CST 2008 至Mon Jun 23 10:46:41 CST 2008
證書指紋:
MD5:53:F8:8F:61:94:41:23:A1:52:45:BC:EE:BC:D1:A2:8C
SHA1:1D:06:93:BD:A6:BC:F3:90:30:62:E2:DA:77:3C:C4:6F:F4:D7:77:4D
簽名算法名稱:SHA1withRSA
版本: 3
信任這個認證? [否]: y
認證已添加至keystore中
C:/Documents and Settings/Lawrence Yang>
顯示證書庫中的證書使用如下命令: keytool -list -keystore D:/keystore/test 將顯示 D:/keystore/test 證書庫的的所有證書列表:
將證書導出到證書文件
使用命令:keytool -export -alias Tomcat -file D:/keystore/TC.cer -keystore D:/keystore/test 將把證書庫D:/keystore/test 中的別名爲 Tomcat 的證書導出到 TC.cer 證書文件中,它包含證書主體的信息及證書的公鑰,不包括私鑰,可以公開。
導出的證書文件是以二進制編碼文件,無法用文本編輯器正確顯示,可以加上 -rfc參數以一種可打印的編者編碼輸出。 如:
keytool -export -alias Tomcat -file D:/keystore/TC.cer -keystore D:/keystore/test –rfc
通過證書文件查看證書的信息
通過命令: keytool -printcert -file D:/keystore/TC.cer 可以查看證書文件的信息。 也可以在 Windows 資源管理器中雙擊產生的證書文件直接查看。
證書條目的刪除keytool的命令行參數 -delete 可以刪除密鑰庫中的條目,如: keytool -delete -alias Tomcat -keystore D:/keystore/test,這條命令將 D:/keystore/test 庫中的 Tomcat 這一條證書刪除了。
證書條目口令的修改使用 -keypasswd 參數,如:keytool -keypasswd -alias Tomcat -keystore D:/keystore/test,可以以交互的方式修改 D:/keystore/test 證書庫中的條目爲 Tomcat 的證書。
Keytool -keypasswd -alias Tomcat -keypass oldpasswd -new newpasswd -storepass storepasswd -keystore D:/keystore/test 這一行命令以非交互式的方式修改庫中別名爲 Tomcat 的證書的密碼爲新密碼 newpasswd,行中的 oldpasswd 是指該條證書的原密碼, storepasswd 是指證書庫的密碼。
耶魯 CAS 配置
耶魯 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 中