cas 流程
1 證書生成及注入(默認(rèn)目錄在jdk 所在根目錄下/bin下)a ,生成數(shù)字證書keytool -genkey -alias casdemo -keyalg RSA -keystore server
1 證書生成及注入
(默認(rèn)目錄在jdk 所在根目錄下/bin下)
a ,生成數(shù)字證書
keytool -genkey -alias casdemo -keyalg RSA -keystore server.keystore
b ,導(dǎo)出數(shù)字證書
keytool -export -alias casdemo -file server.crt -keystore server.keystore
c ,將數(shù)字證書導(dǎo)入jre 的可信區(qū)
keytool -import -alias casdemo -file server.crt -keystore cacerts
其他的一些命令:
查看可信證書列表(檢查證書是否加入成功)
keytool -list -keystore ../jre/lib/security/cacerts
常用命令:
-genkey 在用戶主目錄中創(chuàng)建一個(gè)默認(rèn)文件".keystore", 還會(huì)產(chǎn)生一個(gè)mykey 的別名,mykey 中包含用戶的公鑰、私鑰和證書
-alias 產(chǎn)生別名
-keystore 指定密鑰庫(kù)的名稱(產(chǎn)生的各類信息將不在.keystore 文件中 -keyalg 指定密鑰的算法
-validity 指定創(chuàng)建的證書有效期多少天
-keysize 指定密鑰長(zhǎng)度
-storepass 指定密鑰庫(kù)的密碼
-keypass 指定別名條目的密碼
-dname 指定證書擁有者信息例如:
"CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 顯示密鑰庫(kù)中的證書信息 keytool -list -v -keystore 別名 -storepass ....
-v 顯示密鑰庫(kù)中的證書詳細(xì)信息
-export 將別名指定的證書導(dǎo)出到文件 keytool -export -alias 別名
,-file 文件名.crt
-file 參數(shù)指定導(dǎo)出到文件的文件名
-delete 刪除密鑰庫(kù)中某條目 keytool -delete -alias 別名 -keystore sage
-keypasswd 修改密鑰庫(kù)中指定條目口令 keytool -keypasswd -alias 別名 -keypass .... -new .... -storepass ... -keystore 別名
-import 將已簽名數(shù)字證書導(dǎo)入密鑰庫(kù) keytool -import -alias 別名 -keystore 證書名-file 文件名(可以加.crt 后綴)
注意:
1,生成數(shù)字證書的時(shí)候必須使用主機(jī)名或者域名作為證書名稱(CN ), 例如sso.example.com (CN=sso.example.com, OU=example, O=example, L=beijing, ST=beijing, C=china)
2,檢查JAVA_HOME環(huán)境變量(echo $JAVA_HOME),確認(rèn)tomcat 使用了那一個(gè)jre (有時(shí)候一臺(tái)機(jī)器上會(huì)有
多個(gè)jre ),需要將生成的證書文件導(dǎo)入至web 服務(wù)器使用的那個(gè)jre 的信任證書列表中,可以使用keytool -list
命令檢查證書是否導(dǎo)入成功。
修改tomcat 中server.xml 配置
port="8443" minSpareThreads="5" maxSpareThreads="75" enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="C:/tomcat.key" keystorePass="sky123wolf" clientAuth="false" sslProtocol="TLS" />