天天看點

搭建Jasig CAS中央認證服務實作單點登入——搭建Tomcat并實作SSL安全連接配接

預期的工作任務: 實作cas(cas采用jasig cas)單點登入搭建,開發api以實作java、php、.net等單點登入接口;實作資料庫、ldap身份認證對接。

<b>(一)平台(</b><b>linux</b><b>和</b><b>windows</b><b>都能實作):</b><b></b>

<b></b>

1.windows server 2008 r2(windows 2000以上即可),用于承載tomcat和其他開發環境,如資料庫等(設定為伺服器的ip是172.16.201.207);

2.linux(安裝有openssl,一般都安裝),用于後期配置證書,如導出pem證書格式(設定為[email protected],以後不再注釋);

<b>(二)先決條件:</b><b></b>

使用的是目前官方釋出的最新穩定版本

1.需要jdk(官方推薦,實際上搭建過程中沒有用到)

<a href="http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-x64.exe">http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-x64.exe</a>

2.需要jre(bin目錄下有keytool工具,用于實作頒發證書)

<a href="http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jre-7u17-windows-x64.exe">http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jre-7u17-windows-x64.exe</a>

下載下傳jdk和jre需要注冊oracle賬戶

3.需要tomcat

<a href="http://apache.dataguru.cn/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39-windows-x64.zip">http://apache.dataguru.cn/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39-windows-x64.zip</a>

4.需要cas安裝包,cas-server-3.4.10-release.zip這個包不是很好下載下傳,可能是防火牆的原因。但是找到下載下傳位址用下載下傳工具能下載下傳的到。

<a href="http://downloads.jasig.org/cas/cas-server-3.4.10-release.zip" target="_blank">http://downloads.jasig.org/cas/cas-server-3.4.10-release.zip</a>

5.部署指南(可選)

<a href="http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39-deployer.zip">http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39-deployer.zip</a>

<b>(三)啟動</b><b>tomcat</b><b>前需要設定環境變量(參考但不按照</b><b>tomcat包中的指導檔案(./running.txt)進行配置</b><b>)</b>

###按照指導檔案進行的操作

<b>&gt;set "catalina_home=c:\inetpub\apache-tomcat-7.0.39"</b>

###不要執行下面一行,tomcat包中的指導檔案(./running.txt)有錯誤。

<b># set "catalina_base=c:\inetpub\apache-tomcat-7.0.39\conf"</b>

<b>&gt;set "jre_home=c:\program files\java\jre7"</b>

<b>&gt;set "java_home=c:\program files\java\jdk1.7.0_17"</b>

###修正以後的操作

<b>&gt;cd c:\inetpub\apache-tomcat-7.0.39\bin</b>

<b>&gt;catalina.bat run</b>

現在tomcat就可以運作了

<b>(四)配置</b><b>tomcat</b><b>使之能使用</b><b>ssl</b><b>實作加密的安全的連接配接</b><b></b>

<b>&gt;cd c:\program files\java\jre7\bin\</b>

###密碼是yourpassword

<b>&gt;keytool -genkey -alias cask -keyalg rsa -keystore c:\cas_key</b>

<b>&gt;keytool -export -file c:\casrv.crt -alias cask -keystore c:\cas_key</b>

###密碼是changeit,此密碼是tomcat包中cacerts檔案需要的預設密碼

<b>&gt;keytool -import -keystore "c:\program files\java\jre7\lib\security\cacerts" -file c:\casrv.crt -alias cask</b>

根據指令行中給出的提示修正問題

###caused by: java.lang.exception: connector attribute sslcertificatefile must be defined when using ssl with apr

###修改85行,參考注釋,添加如下内容

&lt;connector port="8443" protocol="http/1.1" 

sslenabled="true" maxthreads="150" scheme="https" secure="true" clientauth="false" sslprotocol="tls" 

keystorefile="c:/cas_key" keystorepass="yourpassword" 

sslcertificatefile="c:/casrv.crt" sslcertificatekeyfile="c:/cas_key.pem"

/&gt; 

### 為server.xml檔案配置證書

### “&gt;”表示在windows運作,“#”表示在linux下運作

<b>&gt;keytool -importkeystore -srckeystore c:\cas_key -destkeystore c:\cas_key.p12 -deststoretype pkcs12</b>

<b>&gt;pscp c:/cas_key.p12 [email protected]:/tmp</b>

### tomcat的apr 子產品需要用到.pem檔案

<b>#openssl pkcs12 -in cas_key.p12 -out cas_key.pem -nodes</b>

<b>&gt;pscp [email protected]:/tmp/cas_key.pem c:/cas_key.pem</b>

### 再次重新啟動tomcat,完成tomcat的https配置

将cas-server-3.4.10-release.zip解壓後得到的cas-server-3.4.10\modules\cas-server-webapp-3.4.10.war檔案複制到c:\inetpub\apache-tomcat-7.0.39\webapps\cas.war

和更改apache一樣,每次更改目錄和配置檔案都需要重新啟動tomcat。

在浏覽器中輸入https://localhost:8443/cas即可通路cas首頁。

相關圖檔見附件1和附件2,

其他指導手冊(cas單點登入執行個體詳細步驟.pdf)下載下傳,見附件3.

後期會繼續提供的cas的相關開發文章。