• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統(tǒng)計(jì)

            最新評(píng)論

            在tomcat中實(shí)現(xiàn)https安全連接的方法

            SSL簡(jiǎn)介
            SSL, 或者Secure Socket Layer,是一種允許web瀏覽器和web服務(wù)器通過一個(gè)安全的連接進(jìn)行交流的技術(shù)。這意味著將被發(fā)送的數(shù)據(jù)在一端被翻譯成密碼,傳送出去,然后在另一 端解開密碼,再進(jìn)行處理。這是一個(gè)雙向的過程,也就是瀏覽器和服務(wù)器都需要在發(fā)送數(shù)據(jù)之前對(duì)它們進(jìn)行加密。
            SSL協(xié)定的另一個(gè)重要方面是認(rèn)證(Authentication)。這就是說,在你開始試圖通過一個(gè)安全連接與一個(gè)web服務(wù)器交流的時(shí)候,這個(gè)服務(wù)器會(huì)要求你的瀏覽器出示一組證件,通過“鑒定”的方式來證明這就是你所聲明的網(wǎng)站。
            在某些情況下,服務(wù)器還會(huì)要求你的web瀏覽器的認(rèn)證書,證明你就是你所說的那個(gè)人。這就是所知的“客戶認(rèn)證”,盡管實(shí)際情況中,更多地用在商務(wù)-對(duì)-商務(wù)(B2B)交易,而不是對(duì)個(gè)人用戶。
            但大多數(shù)有SSL功能的web服務(wù)器不要求客戶認(rèn)證(Client Authentication)。


            證書
            為 了能實(shí)施SSL,一個(gè)web服務(wù)器對(duì)每個(gè)接受安全連接的外部接口(IP 地址)必須要有相應(yīng)的證書(Certificate)。關(guān)于這個(gè)設(shè)計(jì)的理論是一個(gè)服務(wù)器必須提供某種合理的保證以證明這個(gè)服務(wù)器的主人就是你所認(rèn)為的那個(gè) 人。這個(gè)證書要陳述與這個(gè)網(wǎng)站相關(guān)聯(lián)的公司,以及這個(gè)網(wǎng)站的所有者或系統(tǒng)管理員的一些基本聯(lián)系信息。
            這個(gè)證書由所有人以密碼方式簽字,其他人非常 難偽造。對(duì)于進(jìn)行電子商務(wù)(e-commerce)的網(wǎng)站,或其他身份認(rèn)證至關(guān)重要的任何商業(yè)交易,認(rèn)證書要向大家所熟知的認(rèn)證權(quán)威 (Certificate Authority (CA))如VeriSign或Thawte來購(gòu)買。這樣的證書可用電子技術(shù)證明屬實(shí)。實(shí)際上,認(rèn)證權(quán)威單位會(huì)擔(dān)保它發(fā)出的認(rèn)證書的真實(shí)性,如果你信任發(fā) 出認(rèn)證書的認(rèn)證權(quán)威單位的話,你就可以相信這個(gè)認(rèn)證書是有效的。
            在許多情況下,認(rèn)證并不是真正使人擔(dān)憂的事。系統(tǒng)管理員或許只想要保證被服務(wù)器傳 送和接收的數(shù)據(jù)是秘密的,不會(huì)被連接線上的偷竊者盜竊到。慶幸的是,Java提供相對(duì)簡(jiǎn)單的被稱為keytool的命令行工具,可以簡(jiǎn)單地產(chǎn)生“自己簽 名”的證書。自己簽名的證書只是用戶產(chǎn)生的證書,沒有正式在大家所熟知的認(rèn)證權(quán)威那里注冊(cè)過,因此不能確保它的真實(shí)性。但卻能保證數(shù)據(jù)傳輸?shù)陌踩浴?br />認(rèn)證也許很重要,也許不重要,完全決定于網(wǎng)站的需要。

            用Tomcat來配置SSL主要有下面這么兩大步驟:

            一、生成證書

            1、 在命令行下執(zhí)行:

            %Java_home%\bin\keytool -genkey -alias tomcat -keyalg RSA

            在此命令中,keytool是JDK自帶的產(chǎn)生證書的工具。把RSA運(yùn)算法則作為主要安全運(yùn)算法則,這保證了與其它服務(wù)器和組件的兼容性。
            這 個(gè)命令會(huì)在用戶的home directory產(chǎn)生一個(gè)叫做" .keystore " 的新文件。在執(zhí)行后,你首先被要求出示keystore密碼。Tomcat使用的默認(rèn)密碼是" changeit "(全都是小寫字母),如果你愿意,你可以指定你自己的密碼。你還需要在server.xml配置文件里指定自己的密碼,這在以后會(huì)有描述。

            2、 你會(huì)被要求出示關(guān)于這個(gè)認(rèn)證書的一般性信息,如公司,聯(lián)系人名稱,等等。這些信息會(huì)顯示給那些試圖訪問你程序里安全網(wǎng)頁的用戶,以確保這里提供的信息與他們期望的相對(duì)應(yīng)。

            3、 你會(huì)被要求出示密鑰(key)密碼,也就是這個(gè)認(rèn)證書所特有的密碼(與其它的儲(chǔ)存在同一個(gè)keystore文件里的認(rèn)證書不同)。你必須在這里使用與keystore密碼相同的密碼。(目前,keytool會(huì)提示你按ENTER鍵會(huì)自動(dòng)幫你做這些)。

            如果一切順利,你現(xiàn)在就擁有了一個(gè)可以被你的服務(wù)器使用的有認(rèn)證書的keystore文件。

            二、配置tomcat

            第 二個(gè)大步驟是把secure socket配置在$CATALINA_HOME/conf/server.xml文件里。$CATALINA_HOME代表安裝Tomcat的目錄。一 個(gè)例子是SSL連接器的<Connector>元素被包括在和Tomcat一起安裝的缺省server.xml文件里。它看起來象是這樣:

            $CATALINA_HOME/conf/server.xml


            <-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
            <!--
            <Connector
            port="8443" minProcessors="5" maxProcessors="75"
            enableLookups="true" disableUploadTimeout="true"
            acceptCount="100" debug="0" scheme="https" secure="true";
            clientAuth="false" sslProtocol="TLS"/>
            -->

            Connector 元素本身,其默認(rèn)形式是被注釋掉的(commented out),所以需要把它周圍的注釋標(biāo)志刪除掉。然后,可以根據(jù)需要客戶化(自己設(shè)置)特定的屬性。一般需要增加一下keystoreFile和 keystorePass兩個(gè)屬性,指定你存放證書的路徑(如:keystoreFile="C:/.keystore")和剛才設(shè)置的密碼 (如:keystorePass="123456")。關(guān)于其它各種選項(xiàng)的詳細(xì)信息,可查閱Server Configuration Reference。

            在完成這些配置更改后,必須象重新啟動(dòng)Tomcat,然后你就可以通過SSL訪問Tomcat支持的任何web應(yīng)用程序。只不過指令需要像下面這樣:

            https://localhost:8443

            posted on 2012-05-09 11:52 大龍 閱讀(185) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久人做人爽一区二区三区| 久久九九久精品国产免费直播| 亚洲国产天堂久久久久久| 久久亚洲精品视频| AAA级久久久精品无码区| 亚洲国产成人久久精品动漫| 97久久香蕉国产线看观看| 69SEX久久精品国产麻豆| 99久久精品午夜一区二区| 久久国产高清字幕中文| 国产精品久久久久久久久鸭| 一本大道加勒比久久综合| 国产亚州精品女人久久久久久| 91久久精品电影| 久久久免费观成人影院| 午夜精品久久久久9999高清| 久久精品成人欧美大片| 久久久亚洲欧洲日产国码aⅴ| 69久久夜色精品国产69| 久久无码人妻精品一区二区三区| 伊人久久一区二区三区无码| 男女久久久国产一区二区三区| 国产精品天天影视久久综合网| 亚洲综合精品香蕉久久网97| 伊人色综合久久天天人守人婷| 日韩人妻无码一区二区三区久久| 精品综合久久久久久888蜜芽| 国产精品99久久久久久宅男| 三级三级久久三级久久| 99国产欧美久久久精品蜜芽 | 成人精品一区二区久久久| 狠狠色丁香婷婷综合久久来来去 | 久久青青草原亚洲av无码app| 久久电影网2021| 久久久久国产精品人妻| 精品久久人人妻人人做精品 | jizzjizz国产精品久久| 亚洲欧美一区二区三区久久| 国产人久久人人人人爽| 一级女性全黄久久生活片免费| 久久免费高清视频|