jboss5.0安裝配置總結(jié)
第1章 Jboss 配置https 協(xié)議1.1 生成keystore 文件用keytool 生成server.keystore 文件:進入命令行C:Documents and Settingsnew>
第1章 Jboss 配置https 協(xié)議
1.1 生成keystore 文件

用keytool 生成server.keystore 文件:
進入命令行
C:Documents and Settingsnew>
keytool -genkey -alias tc-ssl -keyalg RSA -keystore c:server.keystore -validity 3650 會提示要求輸入私鑰信息。
生成完后放入jboss安裝目錄server?faultconf下
1.2 修改deployjboss-web.deployerserver.xml文件 clientAuth="false" sslProtocol="TLS" keystoreFile="${jboss.home.dir}/server.keystore" keystorePass="ronglian" keystoreType="jks" /> 去掉該段注釋,添加代碼(紅色標(biāo)注部分) keystoreFile 后面的內(nèi)容是server.keystore 文件的相對路徑。 keystorePass 后面的內(nèi)容是生成文件是的密碼。 1.3 修改完成后啟動JBOSS ,訪問 點擊查看證書 是否繼續(xù)選擇是。 成功訪問,注意端口號為配置文件中的8443,可以根據(jù)需要修改。 問題:訪問原來的也同樣可以訪問頁面 1.4 http 自動跳轉(zhuǎn)到https (修改web.xml 文件,配置一個 HtmlAdaptor )。添加代碼: An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application 再次啟動JBOSS 服務(wù)器,訪問 可以看到訪問http 已經(jīng)被自動的轉(zhuǎn)到https 協(xié)議進行訪問。 1.5 相關(guān)信息 1.5.1 SSL 定義 SSL 或者Secure Socket Layer,是一種允許web 瀏覽器和web 服務(wù)器通過一個安全的連接進行交流的技術(shù)。這意味著將被發(fā)送的數(shù)據(jù)在一端被翻譯成密碼,傳送出去,然后在另一端解開密碼,再進行處理。這是一個雙向的過程,也就是瀏覽器和服務(wù)器都需要在發(fā)送數(shù)據(jù)之前對它們進行加密。 SSL 協(xié)定的另一個重要方面是認(rèn)證(Authentication)。這就是說,在你開始試圖通過一個安全連接與一個web 服務(wù)器交流的時候,這個服務(wù)器會要求你的瀏覽器出示一組證件,通過“鑒定”的方式來證明這就是你所聲明的網(wǎng)站。 在某些情況下,服務(wù)器還會要求你的web 瀏覽器的認(rèn)證書,證明你就是你所說的那個人。這就是所知的“客戶認(rèn)證”,盡管實際情況中,更多地用在商務(wù)-對-商務(wù)(B2B)交易,而不是對個人用戶。 但大多數(shù)有SSL 功能的web 服務(wù)器不要求客戶認(rèn)證(Client Authentication)。 1.5.2 證書 為了能實施SSL ,一個web 服務(wù)器對每個接受安全連接的外部接口(IP 地址) 必須要有相應(yīng)的證書(Certificate)。關(guān)于這個設(shè)計的理論是一個服務(wù)器必須提供某種合理的保證以證明這個服務(wù)器的主人就是你所認(rèn)為的那個人。這個證書要陳述與這個網(wǎng)站相關(guān)聯(lián)的公司,以及這個網(wǎng)站的所有者或系統(tǒng)管理員的一些基本聯(lián)系信息。 這個證書由所有人以密碼方式簽字,其他人非常難偽造。對于進行電子商務(wù)(e-commerce)的網(wǎng)站,或其他身份認(rèn)證至關(guān)重要的任何商業(yè)交易,認(rèn)證書要向大家所熟知的認(rèn)證權(quán)威(Certificate Authority (CA))如VeriSign 或Thawte 來購買。這樣的證書可用電子技術(shù)證明屬實。實際上,認(rèn)證權(quán)威單位會擔(dān)保它發(fā)出的認(rèn)證書的真實性,如果你信任發(fā)出認(rèn)證書的認(rèn)證權(quán)威單位的話,你就可以相信這個認(rèn)證書是有效的。 1.5.3 Java 生成證書 在許多情況下,認(rèn)證并不是真正使人擔(dān)憂的事。系統(tǒng)管理員或許只想要保證被服務(wù)器傳送和接收的數(shù)據(jù)是秘密的,不會被連接線上的偷竊者盜竊到。慶幸的是, Java 提供相對簡單的被稱為keytool 的命令行工具,可以簡單地產(chǎn)生“自己簽名”的證書。自己簽名的證書只是用戶產(chǎn)生的證書,沒有正式在大家所熟知 的認(rèn)證權(quán)威那里注冊過,因此不能確保它的真實性。但卻能保證數(shù)據(jù)傳輸?shù)陌踩浴?/p> 1.5.4 keytool 生產(chǎn)非簽發(fā)證書 keytool -genkey -alias tomcat -keyalg RSA -keystore d:tomcat.keystore 在此命令中,keytool 是JDK 自帶的產(chǎn)生證書的工具。把RSA 運算法則作為主要安全運算法則,這保證了與其它服務(wù)器和組件的兼容性。 這個命令會在用戶的d:tomcat.keystore產(chǎn)生一個叫做"tomcat.keystore" 的新文件。你會被要求出示關(guān)于這個認(rèn)證書的一般性信息,如公司,聯(lián)系人名稱,等等。這些信息會顯示給那些試圖訪問你程序里安全網(wǎng)頁的用戶,以確保這里提供 的信息與他們期望的相對應(yīng)。你會被要求出示密鑰(key)密碼,也就是這個認(rèn)證書所特有的密碼(與其它的儲存在同一個keystore 文件里的認(rèn)證書不 同) 。你必須在這里使用與keystore 密碼相同的密碼。(目前,keytool 會提示你按ENTER 鍵會自動幫你做這些) 。 如果一切順利,你現(xiàn)在就擁有了一個可以被你的服務(wù)器使用的有認(rèn)證書的keystore 文件。 注意: 提示名字和姓氏時,應(yīng)輸入服務(wù)器的DNS 域名或者IP 地址,否則,客戶端會彈出警告窗口。" 站點不符" 另外,因為是自簽名的證書,客戶端會彈出“非信任的機構(gòu)頒發(fā)”,這時可以點擊“繼續(xù)”,或者安裝該證書,確認(rèn)自己的信任。 1.5.5 申請簽發(fā)證書 自己生產(chǎn)并簽名的證書相對用戶使不可信的,也是不安全的,所以一般我們需要向證書發(fā)放機構(gòu)去購買證書,或者獲取免費證書,下面是正式的申請流程和在tomcat 中的配置,jboss 或者apache 請參閱相關(guān)配置。 1) 生成私鑰和公鑰對(Keystore) Create a Keystore keytool -genkey -keyalg rsa -keystore Keytool 會提示您輸入私鑰密碼、您的姓名(Your name,填單位網(wǎng)址) 、您的部門名稱、單位名稱、所在城市、所在省份和國家縮寫(中國填:CN ,其他國家填其縮寫) ,單位名稱一定要與證明文件上的名稱 一致,部門名稱(OU)可以不填。除國家縮寫必須填CN 外,其余都可以是英文或中文。請一定要保存好您的私鑰和私鑰密碼。WoTrust 不會要求您提供私 鑰文件! (2) 生成證書請求文件(CSR) Generate a CSR keytool –certreq –file certreq.csr –keystore 請把生成的certreq.csr 文件復(fù)制和粘貼到Thawte 證書在線申請頁面的CSR 文本框中,或直接發(fā)給WoTrust ,請等待1-2個工作日后頒發(fā)證書。 (3) 導(dǎo)入簽名證書 Import Thawte Codesigning Certificate 一旦Thawte 驗證了您的真實身份,將會頒發(fā)證書給您。您需要到Thawte 網(wǎng)站下載您的證書,請選擇 PKCS #7 格式證書(PKCS #7 Certificate Chain) ,此證書格式含有您的證書和根證書鏈,Keytool 要求此格式證書,請把證書保存到您的電腦中。 請使用如下命令導(dǎo)入您的證書到keystore 中,這里假設(shè)您的證書名稱為:cert.cer ,請同時指明詳細(xì)路徑,一旦成功導(dǎo)入證書,請及時備份您的keystore 文件: c:jdk1.5binkeytool –import –trustcacerts –keystore 第2章 Jboss 配置超時時間與端口 2.1 Jboss 超時時間設(shè)置 修改jboss-5.0.0.Beta4server?fault?ployers jbossweb.deployerconf目錄下的web.xml 文件 2.2 Jboss 修改端口 修改jboss-5.0.0.Beta4server?fault?ployersjbossweb.deployer目錄下的server.xml 文件 port="8090" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443" /> port="8443" address="${jboss.bind.address}" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.home.dir}/server.keystore" keystorePass="ronglian" keystoreType="jks" sslProtocol = "TLS" /> 第3章 Jboss 配置數(shù)據(jù)源 Jboss 有一個默認(rèn)的數(shù)據(jù)源 DefaultDS ,他使用 Jboss 內(nèi)置的 HSQLDB 數(shù)據(jù)庫。實際應(yīng)用中你可能使用不同的數(shù)據(jù)庫,如 MySql 、 MsSqlServer 、 Oracle 等。各種數(shù)據(jù)庫的數(shù)據(jù)源配置模版你可以在 [Jboss 安裝目 錄 ]docsexamplesjca 目錄中找到,默認(rèn)名稱為:數(shù)據(jù)庫名 -ds.xml 。不管你使用那種數(shù)據(jù)庫都需要把他的驅(qū)動類 Jar 包放置在 [Jboss 安裝目錄 ]server?faultlib 目錄下,放置后需要啟動 Jboss 服務(wù)器。 本實例使用的數(shù)據(jù)庫是 mysql-5.0.22 和 Ms Sql Server2000 ,使用驅(qū)動 Jar 包如下: Mysql : mysql-connector-java-3.1.13-bin.jar Ms Sql Server2000 : msbase.jar, mssqlserver.jar, msutil.jar 。 下面介紹 Mysql 和 Ms Sql Server2000 的數(shù)據(jù)源配置,數(shù)據(jù)源配置文件的取名格式必須為 xxx–ds.xml , 如 :mysql-ds.xml , mssqlserver-ds.xml , oracle-ds.xml 。 數(shù)據(jù)源文件配置好后需要放置在 [jboss 安裝目錄 ]/server/ config-name /deploy 目錄下 , 本教程采用的配置名為: default , 所以路徑為 [jboss 安裝目錄 ]/server/default/deploy 目錄 3.1 MySql 數(shù)據(jù)源的配置 下面定義一個名為 DefaultMySqlDS 的 Mysql 數(shù)據(jù)源,連接數(shù)據(jù)庫為 zhaosoft ,數(shù)據(jù)庫登錄用戶名為 root ,密碼為 admin ,數(shù)據(jù)庫驅(qū)動類為 org.gjt.mm.mysql.Driver 。大家只需修改數(shù)據(jù)庫名及登錄用戶名密碼就可以直接使用。 mysql-ds.xml 3.2 Ms Sql Server2000 數(shù)據(jù)源的配置 下面定義一個名為 MSSQLDS 的 Ms Sql Server 數(shù)據(jù)源,連接數(shù)據(jù)庫為 foshanshop ,數(shù)據(jù)庫登錄用戶名為 sa ,密碼為 sa ,數(shù)據(jù)庫驅(qū)動類為 com.microsoft.jdbc.sqlserver.SQLServerDriver 。大家只需修改數(shù)據(jù)庫名及登錄用戶名、密碼就可以直接使用。 mssqlserver-ds.xml localhost:1433;DatabaseName=foshanshop 3.3 Oralce9i 數(shù)據(jù)源的配置 下面定義一個名為 OracleDS 的 Oracle9i 數(shù)據(jù)源,連接數(shù)據(jù)庫為 FS ,數(shù)據(jù)庫登錄用戶名為 root ,密碼為 admin , 數(shù)據(jù)庫驅(qū)動類為 oracle.jdbc.driver.OracleDriver 。大家只需修改數(shù)據(jù)庫名及登錄用戶名密碼就可以直接使用。 oracle-ds.xml



