1、cas4.0 單點登入 之 https證書
cas4.0 單點登入 之 https證書
公司專案使用分散式部署,使用單點登入可使各節點無狀態,達到業務與使用者認證解耦;cas-server與cas-client通訊安全完全基於https,需要ssl證書,jdk的keytool工具生成的證書用於開發也是夠的,當然正式上線的證書需要使用第三方認證的證書;這裡介紹下cas開發的準備工作:keytool生成證書。
1、建立證書庫
keytool -genkey -alias castest -keyalg RSA -keystore d:/cas/keystore
注意:-alias:別名,這裡的castest 為別名; -keystore:指定證書庫存放位置,這裡存放到d:/cas目錄下的keystore檔案中,證書庫不需要字尾名
注意: 名字與姓氏要填域名,也就是指向部署cas服務的域名,這裡必須填域名,不能填ip;沒有域名的可以修改C:\Windows\System32\drivers\etc\hosts配置對映(推薦使用小工具SwitchHosts,記得使用管理員許可權執行);組織單位名和組織名可以隨便填寫,國家輸入ZH,輸入的口令要記住。
2、匯出證書:
從證書庫中匯出證書
keytool -export -file d:/cas/castest.crt -alias castest -keystore d:/cas/keystore
3、客戶端JVM匯入證書
cas的client端JVM匯入證書,JVM證書庫為%JAVA_HOME%/jre/lib/security/cacerts檔案,
keytool -import -trustcacerts -alias castest -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file d:/cas/castest.crt -storepass changeit
**注意:
1、JVM證書庫密碼預設為changeit
2、使用管理員執行cmd
3、目錄若有空格必須使用雙引號
可能會用到的命令:
檢視cacerts證書庫中的證書列表,通過別名搜尋
keytool -list -v -keystore “%JAVA_HOME%/jre/lib/security/cacerts” -storepass changeit |findstr /i castest
刪除證書庫中的證書
keytool -delete -alias castest -keystore “%JAVA_HOME%/jre/lib/security/cacerts” -storepass changeit
4、證書應用到web伺服器-tomcat
cas的server服務端tomcat啟用SSL,使用HTTPS加密協議。
開啟tomcat目錄的conf/server.xml檔案,開啟87行左右的Connector標籤的註釋程式碼,並設定keystoreFile、keystorePass如下:
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="d:/cas/keystore" keystorePass="caspass"/>
到此cas需要的SSL環境準備完畢