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)建一個默認(rèn)文件".keystore", 還會產(chǎn)生一個mykey 的別名,mykey 中包含用戶的公鑰、私鑰和證書
-alias 產(chǎn)生別名
-keystore 指定密鑰庫的名稱(產(chǎn)生的各類信息將不在.keystore 文件中 -keyalg 指定密鑰的算法
-validity 指定創(chuàng)建的證書有效期多少天
-keysize 指定密鑰長度
-storepass 指定密鑰庫的密碼
-keypass 指定別名條目的密碼
-dname 指定證書擁有者信息例如:
"CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 顯示密鑰庫中的證書信息 keytool -list -v -keystore 別名 -storepass ....
-v 顯示密鑰庫中的證書詳細(xì)信息
-export 將別名指定的證書導(dǎo)出到文件 keytool -export -alias 別名
,-file 文件名.crt
-file 參數(shù)指定導(dǎo)出到文件的文件名
-delete 刪除密鑰庫中某條目 keytool -delete -alias 別名 -keystore sage
-keypasswd 修改密鑰庫中指定條目口令 keytool -keypasswd -alias 別名 -keypass .... -new .... -storepass ... -keystore 別名
-import 將已簽名數(shù)字證書導(dǎo)入密鑰庫 keytool -import -alias 別名 -keystore 證書名-file 文件名(可以加.crt 后綴)
注意:
1,生成數(shù)字證書的時候必須使用主機名或者域名作為證書名稱(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 使用了那一個jre (有時候一臺機器上會有
多個jre ),需要將生成的證書文件導(dǎo)入至web 服務(wù)器使用的那個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" />