自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

錦上添花:為最佳JSP服務(wù)器Resin加上SSL認(rèn)證

原創(chuàng)
安全 網(wǎng)站安全
Resin主要是作為WEB服務(wù)器的jsp/servlets運行平臺。它支持許多WEB服務(wù)器軟件,而且是完全免費的,并提供了對SUN的J2EE的支持,這要比其它相關(guān)的java和javascript開發(fā)和運行平臺要好的多,而且速度非???,并提供服務(wù)器端直接開發(fā)、編譯和運行。因此,Resin受到了許多應(yīng)用JSP的WEB站點的支持。

【51CTO.com 獨家特稿】Resin主要是作為WEB服務(wù)器的jsp/servlets運行平臺。它支持許多WEB服務(wù)器軟件,而且是完全免費的,并提供了對SUN的J2EE的支持,這要比其它相關(guān)的java和javascript開發(fā)和運行平臺要好的多,而且速度非???,并提供服務(wù)器端直接開發(fā)、編譯和運行。因此,Resin受到了許多應(yīng)用JSP的WEB站點的支持。

對于任何一種WEB站點來說,不管使用何種方式的開發(fā)平臺,運行后最關(guān)鍵的問題之一就是解決服務(wù)器與用戶之間的安全問題。而對于WEB站點與用戶會話過程中數(shù)據(jù)的機密性保護,目前最好的解決方式主要是使用SSL技術(shù)來進行。由于Resin具有的上述優(yōu)點使得它越來越受歡迎,使用它的WEB站點也就越來越多。

但是,通常狀態(tài)下,Resin并不對SSL請求做出任何的回應(yīng)。如果我們需要使用SSL來增加站點與用戶之間的數(shù)據(jù)傳輸?shù)陌踩?,我們就必需?jīng)過一系列的操作來讓Resin提供對SSL加密的支持。
   
一、 在WEB服務(wù)器中使用OpenSSL套件

1、安裝OpenSSL

想要Resin可以響應(yīng)SSL請求,我們就必需保證WEB服務(wù)器上已經(jīng)安裝好了相關(guān)的SSL套件。對于中小企業(yè)來說,開源免費的OpenSSL提供與SSL相同的認(rèn)證功能。

OpenSSL的Linux版本可以在www.openssl.org網(wǎng)站上下載?,F(xiàn)在它的最新版本是OpenSSL 0.9.8j。
Resin通過它的libexec/libresinssl.so JNI庫文件提供對OpenSSL的支持。如果是在類Linux系統(tǒng)下使用OpenSSL,在安裝時可以通過下列命令將它安裝到指定的位置:
./configure --with-openssl=/usr/local/ssl

如果我們是在Windows系統(tǒng)中使用Resin,那么,我們同樣需要在此操作系統(tǒng)下先安裝好OpenSSL。Windows下的OpenSSL在www.slproweb.com/products/Win32OpenSSL.html下載,它的最新安裝文件是Win32OpenSSL-0_9_8j.exe,其大小為7MB左右。

在Windows系統(tǒng)下,Resin的resinssl.dll文件中包含提供對OpenSSL支持的代碼。(在Resin3.0以前的版本是通過resin.dll文件提供支持的。)因此,在Windows系統(tǒng)下只需要安裝好OpenSSL就可以讓Resin使用它了。OpenSSL在Windows系統(tǒng)下很容易安裝,就如同安裝其它的應(yīng)用程序一樣簡單。

不過,在Windows系統(tǒng)下安裝完OpenSSL后,還應(yīng)當(dāng)將一些需要的DLL文件復(fù)制到Resin的根目錄當(dāng)中。現(xiàn)在假設(shè)Resin安裝在c:\resin-3.2.1目錄,OpenSSL安裝在c:\Program Files\GnuWin32目錄?,F(xiàn)在打開系統(tǒng)開始菜單的“運行”對話框,在運行框中輸入CMD命令,回車后進入命令行終端界面。然后在命令行終端下就可以通過下列所示的命令將OpenSSL安裝目錄下的相關(guān)文件復(fù)制到Resin的根目錄下:
cd resin-3.2.1
copy c:\Program Files\GnuWin32\bin\libssl32.dll c:\resin-3.2.1\libssl32.dll
copy c:\Program Files\GnuWin32\bin\libeay32.dll c:\resin-3.2.1\libeay32.dll

2、生成SSL認(rèn)證私鑰

SSL認(rèn)證的密鑰由OpenSSL來生成,生成后的密鑰應(yīng)當(dāng)保存到相應(yīng)的Resin目錄中。因此,在生成密鑰前,我們可以在Resin根目錄中創(chuàng)建一個keys子目錄用來保存將要創(chuàng)建的密鑰。在類Linux系統(tǒng)下,我們可以通過下列方式來創(chuàng)建keys目錄:
cd /resin
mkdir keys

在Windows系統(tǒng)下,我們可以在資源管理器中直接在Resin根目錄下創(chuàng)建一個新文件夾,并命名為keys即可。
在生成密鑰時,OpenSSL會根據(jù)其配置文件中設(shè)置的內(nèi)容來生成。在類Linux系統(tǒng)下,這個缺省的配置文件可能在usr/ssl/openssl.cnf或/usr/share/ssl/openssl.cnf下。而Windows系統(tǒng)中不存在這樣的文件。

當(dāng)然,我們還可以自己創(chuàng)建一個相應(yīng)的配置文件保存到Resin/keys/目錄下。這樣,在創(chuàng)建密鑰時,OpenSSL也會根據(jù)這個配置文件中的內(nèi)容來創(chuàng)建,而且,在創(chuàng)建密鑰時不會要求我們根據(jù)提示輸入缺省的相關(guān)信息了。

下面是一個openssl.cnf配置文件的相關(guān)內(nèi)容實例:
[ req ]
 default_bits = 1024  #在這里填入加密鍵的缺省位數(shù)
distinguished_name = req的名稱
[ req_distinguished_name ]
 C = 在這里填入國家的代碼,例如CN,代表中國
 C_default =
 ST = 這里填寫州或省名稱
 ST_default =
 L = 城市
 L_default =
 O = 企業(yè)或機構(gòu)名稱
 O_default =
 OU = 組織中某個部門的名稱,例如市場部
 OU_default =
 CN = 我們的網(wǎng)站域名,必需是全名,例如www.myweb.com
 CN_default =
 emailAddress = 聯(lián)系的E-Mail郵箱地址
 emailAddress_default =

完成OpenSSL配置文件的相關(guān)設(shè)置后,我們就可以開始為SSL認(rèn)證創(chuàng)建一個私鑰。在WEB服務(wù)器上創(chuàng)建私鑰時,會要求我們輸入相應(yīng)的密碼,這個密碼將會在我們使用創(chuàng)建的私鑰時要求被輸入。因此要牢記這個密碼并妥善地保管它。我們還必需將這個密碼加入到Resin的配置文件當(dāng)中。

在類Linux系統(tǒng)下創(chuàng)建私鑰時,私鑰的文件名可以由我們自己決定,可以通過下列所示命令來完成:
openssl genrsa -des3 -out myprikey.key 1024
在Windows系統(tǒng)下創(chuàng)建私鑰。得先進入命令行終端界面,然后用CD命令切換到OpenSSL安裝目錄,再用下列命令產(chǎn)生私鑰;
c:\Program Files\GnuWin32\bin\openssl.exe  genrsa -des3 -out myprikey.key 1024

二、 創(chuàng)建或申請SSL證書:

為了能夠加密與用戶的會話數(shù)據(jù),我們還必需為SSL認(rèn)證創(chuàng)建或申請一個公鑰證書。這個公鑰證書在使用時會由Resin發(fā)送給用戶的瀏覽器,以便瀏覽器能夠加密其發(fā)送的數(shù)據(jù)。公鑰證書可以由OPENSSL產(chǎn)生一個自簽名證書,也可以到第三方SSL證書頒發(fā)機構(gòu)申請一個公鑰證書。要注意的是,自簽名證書將不能被其瀏覽器所承認(rèn)。

1、創(chuàng)建一個自簽名證書

當(dāng)我們只是用來測試WEB服務(wù)器的SSL安全連接,或者只是作為企業(yè)遠程辦公之用時,那么創(chuàng)建一個自簽名證書將會為我們節(jié)省一筆小錢。但是,對于這樣的自簽證書,WEB瀏覽器是不會承認(rèn)的,還會為此彈出一個警告框來提醒用戶這個證書不是一個公認(rèn)的SSL證書。不過,用戶瀏覽器與WEB服務(wù)器之間的會話數(shù)據(jù)仍然是被SSL加密了的。

在類Linux系統(tǒng)下創(chuàng)建自簽名證書,可以使用下列命令來完成:
openssl req -config ./openssl.cnf -new -key myprikey.key  -x509 -out myself.crt
在Windows系統(tǒng)下創(chuàng)建自簽名證書,在字符終端用CD命令進入OpenSSL安裝目錄后,可以通過下列命令完成:
c:\Program Files\GnuWin32\bin\openssl.exe req -config ./openssl.cnf  -new -key myprikey.key -x509 -out myself.crt
其中,自簽名證書的名稱可以由我們自己決定,例在本例中為myself.crt,而“-key”參數(shù)后帶的鍵文件是在上面我們創(chuàng)建的私鑰文件,而命令中的“./openssl.cnf”表示當(dāng)前目錄下的OpenSSL的配置文件。

如果我們沒有按前文所述方式生成一個OpenSSL配置文件,或者沒有修改此配置文件中的缺少配置值,那么在創(chuàng)建過程中會要求我們提供一些基本的與WEB服務(wù)器相關(guān)的身份資料,例如企業(yè)名稱和網(wǎng)站域名等信息。

2、創(chuàng)建一個證書請求文件

如果要使用第三方證書頒發(fā)機構(gòu)上的證書,那么就必需先創(chuàng)建一個證書請求文件(CSR)。這個證書請求文件中包含有證書的公鑰、企業(yè)名稱、加密位數(shù)、地址和網(wǎng)站域名等信息。

當(dāng)我們在第三方證書頒發(fā)機構(gòu)上申請證書時,就會要求我們提交這個證書請求文件,然后,證書頒發(fā)機構(gòu)才能將SSL證書頒發(fā)給我們?,F(xiàn)在提供SSL證書的機構(gòu)有許多,例如VeriSign公司就是其中最著名的代表。在生成證書請求文件時一定要注意,我們使用什么樣的WEB服務(wù)器軟件,就必需生成與它相兼容的證書請求文件,這樣,SSL證書頒發(fā)機構(gòu)頒發(fā)給我們的證書才能在此WEB服務(wù)器下使用。

在Linux系統(tǒng)下生成證書請求文件,可以使用下列命令達到目的:
openssl req -new -config ./openssl.cnf -key myprikey.key  -out myprikey.csr
在Windows系統(tǒng)下生成證書請求文件,在命令行界面中通過CD命令進入OpenSSL安裝目錄后,通過下列命令來完成證書請求文件的生成:
c:\Program Files\GnuWin32\bin\openssl.exe req -new -config ./openssl.cnf  -key myprikey.key –out myprikey.csr
證書請求文件的文件名可以由我們自己來決定,在本文中為myprikey.csr。在生成證書請求文件過程中會要求我們輸入一些與WEB服務(wù)器身份相關(guān)的信息,例如網(wǎng)站域名和企業(yè)名稱等。我們必需按要求如實填寫。

當(dāng)我們成功注冊,并支付相應(yīng)的年使用費之后,這些證書頒發(fā)機構(gòu)就會將SSL證書發(fā)送到我們填寫的電子郵箱當(dāng)中。

三、 配置Resin使用私鑰和SSL證書

要想Resin能夠使用SSL認(rèn)證,我們還必需對其配置文件resin.conf做相應(yīng)的設(shè)置。具體要配置的內(nèi)容包括:
...

 
    keys/ myself.crt
    keys/ myprikey.key
    mypassword
 

其中,中的內(nèi)容表示SSL連接使用的默認(rèn)端口號,如果沒有特別要求,可以保持默認(rèn)。之間的內(nèi)容填入Resin可以使用的SSL認(rèn)證公鑰,在這里為myself.crt。之間的內(nèi)容填入Resin可以使用的私鑰,在本文中為myprikey.key。至于之間就是填入我們在創(chuàng)建私鑰時設(shè)置的密碼。

四、 測試Resin的SSL加密連接

當(dāng)我們配置好Resin的SSL認(rèn)證后,我們還可以通過一些方式來檢驗我們的配置是否正確。
在Windows系統(tǒng)下,我們就可以通過在WEB瀏覽器地址欄中輸入https://URL(企業(yè)網(wǎng)站的域名)的方式,來驗證WEB服務(wù)器是否對這樣的URL地址做出正確響應(yīng)。如果返回正常的內(nèi)容,并且在WEB瀏覽器地址欄中顯示出一個掛鎖的標(biāo)志,那么,Resin的SSL配置就算成功了。

在Linux系統(tǒng)下,除了可以上述方式來檢驗外,還可以通過下列方式來驗證:
openssl s_client -connect www.myweb.com:443 –prexit
另外,我們還可以通過下列的JSP腳本來快速驗證Resin是否對SSL做出反應(yīng):
Secure? <%= request.isSecure() %>
經(jīng)過上述的檢驗操作后,如果都能得到WEB服務(wù)器的正確響應(yīng),那么就說明Resin已經(jīng)能夠提供對SSL技術(shù)的支持了。

也就是說,當(dāng)用戶通過WEB瀏覽器向WEB服務(wù)器發(fā)送一個SSL請求時,Resin就會為這個WEB瀏覽器提供SSL認(rèn)證的公共密鑰,然后,這個WEB瀏覽器就可以使用這個公共密鑰來加密數(shù)據(jù),而Resin將使用WEB服務(wù)器的SSL私鑰對加密的數(shù)據(jù)進行解密。

【51CTO.COM 獨家特稿,轉(zhuǎn)載請注明出處及作者!】

【編輯推薦】

  1. 利用HTTP-only Cookie緩解跨站點腳本攻擊 
  2.  基于IE的MIME sniffing功能的跨站點腳本攻擊 
  3. 安全專家詳談:對付惡意軟件的策略及方法
  4. 幫你解開Twitter的Don't Click攻擊的神秘面紗 
  5. 安全公司稱俄羅斯已成為垃圾郵件超級大國
  6. 諾頓再次誤升級 廠商可無視用戶許可?
責(zé)任編輯:王文文 來源: 51CTO.com
相關(guān)推薦

2011-08-29 16:50:30

2010-04-01 18:56:37

2009-07-06 14:05:11

JSP服務(wù)器

2017-03-06 09:26:56

Nginx服務(wù)器 SSL

2009-07-03 13:05:47

JSP HTTP服務(wù)器

2009-07-02 17:17:03

2009-07-06 17:46:25

JSP HTTP服務(wù)器

2009-07-06 17:56:12

JSP HTTP服務(wù)器

2009-07-06 18:02:34

JSP服務(wù)器

2012-02-02 10:24:08

JavaResin

2011-08-30 11:19:25

遠程服務(wù)器數(shù)據(jù)中心遷移服務(wù)器管理工具

2009-09-17 18:02:06

2010-07-22 16:28:29

2009-08-26 22:35:20

2009-08-14 16:09:12

2009-08-26 23:13:44

2009-07-06 17:34:38

JSP HTTP服務(wù)器

2009-08-26 22:37:46

服務(wù)器證書SSL

2012-03-27 10:31:41

JavaResin

2011-02-21 10:31:24

點贊
收藏

51CTO技術(shù)棧公眾號