產品:WebSphere Application Server (以下簡稱WAS) 版本:5.0.0, 5.0.1, 5.0.2, 5.0.2.1, 5.0.2.2 平臺:平臺無關
用戶在使用任何一個低於V5.0.2.3版本的WAS的時候,如果起用了全局安全性或者使用了插件中SSL的功能。就會在最近發現一些和證書過期相關的錯誤或者警告。
在系統時間2005年3月17日之前如果用戶啓動用全局安全性,那麼在啓動WAS的時候可以在SystemOut.log中觀察到類似如下的信息: [05-1-26 9:55:47:438 CST] 4c9f2d83 SASRas W JSAS0456W: sasOutboundSSLConfig 中的警告:來自密鑰存儲 D:/IBM/WebSphere/AppServer/etc/DummyServerKeyFile.jks 且別名爲 websphere dummy server 的證書將在 50 天內到期。
在系統時間2005年3月17日之後如果用戶啓動用全局安全性,那麼在啓動WAS的時候會在SystemOut.log中觀察到類似如下的信息: [05-4-26 11:56:48:766 GMT+08:00] 678c0c7e SASRas E JSAS0455E: ERROR in sasOutboundSSLConfig: The certificate with alias websphere dummy server from keyStore C:/WebSphere50/AppServerEE/etc/DummyServerKeyFile.jks is expired. [05-4-26 11:56:49:859 GMT+08:00] 678c0c7e SASRas E JSAS0455E: ERROR in sasInboundSSLConfig: The certificate with alias websphere dummy server from keyStore C:/WebSphere50/AppServerEE/etc/DummyServerKeyFile.jks is expired. [05-4-26 11:56:50:344 GMT+08:00] 678c0c7e SASRas E JSAS0455E: ERROR in csiOutboundSSLConfig: The certificate with alias websphere dummy server from keyStore C:/WebSphere50/AppServerEE/etc/DummyServerKeyFile.jks is expired. [05-4-26 11:56:50:641 GMT+08:00] 678c0c7e SASRas E JSAS0455E: ERROR in csiInboundSSLConfig: The certificate with alias websphere dummy server from keyStore C:/WebSphere50/AppServerEE/etc/DummyServerKeyFile.jks is expired. 當用戶試圖登陸管理控制檯的時候,系統會彈出證書過期的提示窗口,如下圖所示:
用戶點擊“是”可以繼續進入管理控制檯。
在系統時間2005年3月17日之後如果用戶啓用了插件的SSL功能,那麼在用戶通過https協議訪問網站的時候,頁面上會報Error 500的錯誤,類似如下頁面:
通過檢查插件日誌,用戶可以看到類似如下的錯誤記錄: [Tue Apr 26 14:12:16 2005] 00000650 000006d0 - ERROR: lib_stream: openStream: Failed in r_gsk_secure_soc_init: GSK_ERROR_BAD_CERT(gsk rc = 414) [Tue Apr 26 14:12:16 2005] 00000650 000006d0 - ERROR: ws_common: websphereGetStream: Could not open stream [Tue Apr 26 14:12:16 2005] 00000650 000006d0 - ERROR: ws_common: websphereExecute: Failed to create the stream [Tue Apr 26 14:12:16 2005] 00000650 000006d0 - ERROR: ws_common: websphereHandleRequest: Failed to execute the transaction to 'WEBSPHERE_server1'on host 'WEBSPHERE.cnibm.com'; will try another one [Tue Apr 26 14:12:16 2005] 00000650 000006d0 - ERROR: ws_common: websphereWriteRequestReadResponse: Failed to find an app server to handle this request [Tue Apr 26 14:12:16 2005] 00000650 000006d0 - ERROR: ws_common: websphereRequestHandler: Failed to find an app server to handle this request [Tue Apr 26 14:12:16 2005] 00000650 000006d0 - ERROR: ws_common: websphereHandleRequest: Failed to handle request
插件日誌的位置按照如下的方法查找: a.首先找到當前的Web Server所引用的插件文件,以IBM HTTP Server爲例在<IHS_Home>/conf目錄下用文本編輯工具打開httpd.conf文件找到類似如下的文字(其中<IHS_Home>指的是IBM HTTP Server的安裝目錄): WebSpherePluginConfig "c:/IBM/WebSphere/AppServer/config/cells/plugin-cfg.xml"。這說明當前IHS使用的插件文件就是"c:/IBM/WebSphere/AppServer/config/cells/plugin-cfg.xml" (針對其他WebServer如何查找插件文件可以參考如下的鏈接: http://publib.boulder.ibm.com/infocenter/wasinfo/topic/com.ibm. websphere.base.doc/info/ aes/ae/tins_manualWebServer.html#configDomino ) b.用文本編輯工具打開上一步找到的插件文件,可以看到類似如下的信息: <Log LogLevel="Error" Name="C:/WebSphere50/AppServerEE/logs/http_plugin.log"/>這說明當前的插件日誌在"C:/WebSphere50/AppServerEE/logs/http_plugin.log"。
解答: 造成該問題的原因是在隨WAS V5.0.2.3以前版本中,DummyServerKeyFile文件中的自簽證書默認的過期時間是2005年3月17日。如果用戶起用了全局安全性或者使用了插件的SSL功能都會需要使用該證書。需要提醒用戶注意的是,我們不建議客戶將WAS自帶的默認證書用於生產環境。如果通過基於SSL的IIOP協議和HTTPS協議的通信需要保證安全性,那麼不要使用這一默認證書。 請注意,插件的SSL功能的啓用有2種情況,一種是客戶配置了從Web Server到WAS之間的SSL加密功能,另一種情況是客戶只配置了客戶端瀏覽器到Web Server之間的SSL加密,但是如果WAS啓動了支持SSL的https監聽端口,那麼插件就會自動的選擇通過SSL通道把請求轉發給WAS,這樣就使用到了插件的SSL功能。 這個問題會涉及V5.0.2.3以下所有V5版本的WAS以及基於這些版本WAS的所有IBM相關產品包括:WebSphere Portal Server V5, Lotus WorkPlace V2, WebSphere EveryPlace Access Server V5等等。可以通過2種方法解決該問題:
方法一: 1,打補丁PQ77264或者升級到V5.0.2.3以上的版本。補丁PQ77264會把DummyServerKeyFile文件中自簽證書的過期時間延長至2021年。用戶可以在如下的鏈接獲取到PQ77264補丁: http://www-1.ibm.com/support/docview.wss?rs=0&uid=swg24006216 或者,用戶可以到如下的WAS的Support站點下載V5.0.2最新的Cumulative Fix: http://www-306.ibm.com/software/webservers/appserv/was/support/ 因爲在V5.0.2.3以後的Cumulative Fix中已經包含了PQ77264所做的修正。
但是,對於WebSphere Portal Server V5, Lotus WorkPlace V2, WebSphere EveryPlace Access Server V5等以WAS V5爲基礎的軟件,在選擇升級到V5.0.2.3以上的版本時要特別謹慎。因爲,以上每一種軟件的運行條件都有嚴格的規定,單獨提升WAS的補丁級別有可能造成以上的軟件不能正常工作。因此,以上軟件的客戶可以考慮只打補丁PQ77264或者按照下面提到的方法二解決問題。如果,用戶確實希望通過將WAS升級到V5.0.2.3以上的版本來解決問題,那麼請先諮詢IBM技術支持熱線800-810-1818,以確定所需要的其他補丁和正確的操作步驟。
方法二: 自己生成自籤的證書替代將要過期的DummyServerKeyFile文件,具體的辦法可以參考如下的鏈接: http://www-1.ibm.com/support/docview.wss?rs=180&context=SSEQTP& dc=DA490&dc=DB520&dc=DA4A30&dc=DB530&dc=DA480&dc=D700&dc=DB500 &dc=D400&dc=D600&dc=DA400&dc=D420&dc=DA4A10&dc=D410&dc=DA4A20 &dc=DA460&dc=DA440&dc=DA430&dc=DA470&dc=DB550&dc=D430&dc=DA420 &dc=DA500&dc=DA410&dc=DB540&dc=DB510&q1=1154255&uid=swg21154255 &loc=en_US&cs=utf-8&lang=en
參考資料: http://www-1.ibm.com/support/docview.wss?rs=0&uid=swg24006216
http://www-1.ibm.com/support/docview.wss?uid=swg21157067
http://www-1.ibm.com/support/docview.wss?rs=180&context=SSEQTP& dc=DA490&dc=DB520&dc=DA4A30&dc=DB530&dc=DA480&dc=D700&dc=DB500 &dc=D400&dc=D600&dc=DA400&dc=D420&dc=DA4A10&dc=D410&dc=DA4A20 &dc=DA460&dc=DA440&dc=DA430&dc=DA470&dc=DB550&dc=D430&dc=DA420 &dc=DA500&dc=DA410&dc=DB540&dc=DB510&q1=1154255&uid=swg21154255 &loc=en_US&cs=utf-8&lang=en
本文最新更新於2005年2月2日,主要解決WAS自帶證書過期的問題。軟件支持的情況會隨着IBM產品的不斷更新和完善而變化,最新的支持情況可以向IBM的業務代表,授權的代理商查詢,或可直接查詢IBM產品銷售手冊網站:
http://www-306.ibm.com/common/ssi/OIX.wss?buttonpressed=DET003PT011 &hfdd=&hfud=×tamp=1083978135626&user=EXT&page=1 &previouspagevisited=9&us_hc_index=US&homecountry=US &us_hpl_index=en&pagelanguage=en&us_dl_index=en&documentlanguage=en &us_lang_choice_index |