心有多大舞臺(tái)便有多大

          Embrace changes, pursue excellence, share niceness.

          apache2.2中配置ssl

          一.首先要安裝好openssl
              下載openssl:
               wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
               ./configure --prefix=/usr/local/openssl
               make
               sudo make install
               也可以直接用apt安裝:
                sudo apt-get install openssl libssl-dev
                注意一定要安裝openssl的開發(fā)庫(kù),否則編譯apache的時(shí)候會(huì)報(bào)錯(cuò)誤,不能編譯ssl的.
          二.編譯安裝apache
               這里不多說(shuō)了,主要是configure的時(shí)候加上ssl的選項(xiàng)

          三.創(chuàng)建ssl所需要的證書
          (這里所有的文件都是創(chuàng)建在/etc/httpd目錄中)
          1.創(chuàng)建key文件:
          sudo openssl genrsa -des3 -out server.key 1024
          執(zhí)行完后應(yīng)該在當(dāng)前目錄中有一個(gè)server.key文件


          2.查看創(chuàng)建的key文件:(不是必須)
          openssl rsa -noout -text -in server.key
          3.創(chuàng)建pem文件:(不是必須)
          sudo openssl rsa -in server.key -out server.key.unsecure
          4.創(chuàng)建scr文件:
          sudo openssl req -new -key server.key -out server.csr
          執(zhí)行完后應(yīng)該在當(dāng)前目錄中有一個(gè)server.csr文件
          5.創(chuàng)建crt文件:
          sudo openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
          執(zhí)行完后應(yīng)該在當(dāng)前目錄中有一個(gè)server.crt文件

          四.修改apache的ssl配置文件
          1.修改httpd.conf
          在文件中找到下面一行,把注釋去掉
          #Include conf/extra/httpd-ssl.conf
          2.修改httpd-ssl.conf
          在extra目錄中,修改ssl的配置文件
          找到SSLCertificateFile和SSLCertificateKeyFile的配置,修改文件路徑到上面創(chuàng)建的目錄

          五.啟動(dòng)apache
          sudo /usr/local/apache/bin/apachectl start
          這時(shí)應(yīng)該要求你回答證書密鑰,回答后即可啟動(dòng)
          打開瀏覽器測(cè)試下吧!這時(shí)候應(yīng)該能以https訪問(wèn)你的站點(diǎn)了.

          但這時(shí),是所有的用戶都可以訪問(wèn)你的https站點(diǎn)的,如果你希望只有認(rèn)證的用戶才能訪問(wèn)的話,請(qǐng)繼續(xù)下面的配置!


          六.創(chuàng)建認(rèn)證客戶所需要的證書
          1.創(chuàng)建用戶的key文件:
          sudo openssl genrsa -des3 -out client.key 1024
          2.創(chuàng)建用戶的crt證書文件:
           sudo openssl req -new -x509 -days 3650 -key client.key -out client.crt
          修改SSLCACertificateFile的文件路徑
          3.創(chuàng)建訪問(wèn)用戶的csr文件:
          sudo openssl req -new  -out pony.csr
          4.創(chuàng)建訪問(wèn)用戶的crt證書文件:
          sudo openssl x509 -req -in pony.csr -out pony.crt -signkey client.key -CA client.crt -CAkey client.key -CAcreateserial -days 3650
          5.導(dǎo)出為pfx證書:(ie中只能導(dǎo)入pfx證書)
          sudo openssl pkcs12 -export -in pony.crt -inkey client.key -out pony.pfx
          在你的測(cè)試機(jī)的ie中導(dǎo)入這個(gè)pfx證書
          6.修改ssl配置文件:
          在httpd-ssl.conf文件中找到SSLCACertificateFile的配置,然后修改文件路徑為client.crt
          把以下兩行注釋去掉:
          SSLVerifyClient require
          SSLVerifyDepth  10

          重新啟動(dòng)apache,再次訪問(wèn)apache的時(shí)候,ie就會(huì)彈出窗口選擇證書了.
          that's all

          (本文參考了CU的文章:http://www.chinaunix.net/jh/13/469276.html,非常感謝作者!)

           

          posted on 2008-04-25 14:39 pony 閱讀(3040) 評(píng)論(1)  編輯  收藏 所屬分類: linux

          評(píng)論

          # re: apache2.2中配置ssl 2009-02-19 15:00 pony

          今天下載試用天威誠(chéng)信的ssl正式,收到郵件后把-----BEGIN CERTIFICATE----- -----END CERTIFICATE-----的內(nèi)容拷貝到server.crt文件中,結(jié)果因?yàn)槭怯玫膃ditplus拷貝的,搞了半天apache都沒(méi)有通過(guò),后來(lái)發(fā)現(xiàn)要用記事本才可以!  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 攀枝花市| 桂林市| 原平市| 都昌县| 南平市| 彰化县| 溧水县| 于田县| 含山县| 灌阳县| 定日县| 维西| 泰和县| 永平县| 屯门区| 牙克石市| 郎溪县| 永顺县| 定陶县| 潜山县| 莆田市| 军事| 宝坻区| 江孜县| 江北区| 金华市| 聂荣县| 怀宁县| 佛教| 安福县| 黔西| 南昌县| 化隆| 崇左市| 普洱| 香港| 靖远县| 栖霞市| 甘泉县| 高尔夫| 磐安县|