成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

win apache實(shí)現(xiàn)ssl的證書

原來win apache實(shí)現(xiàn)ssl 的證書認(rèn)證如此簡單 windows apache的情況下,實(shí)現(xiàn)ssl 的證書認(rèn)證(win 下用openssl 做證書極為困難的問題徹底解決了)我寫得非常詳細(xì),一步一

原來win apache實(shí)現(xiàn)ssl 的證書認(rèn)證如此簡單 windows apache的情況下,實(shí)現(xiàn)ssl 的證書認(rèn)證

(win 下用openssl 做證書極為困難的問題徹底解決了)

我寫得非常詳細(xì),一步一步都說得很清楚。實(shí)際操作極為簡單,要不了5分鐘,是我的字打得太多了. 如果發(fā)現(xiàn)錯誤,遺漏請?zhí)岢觥?/p>

首先,到http://hunter.campbus.com/去下載和自己的apache 版本相同的的Apache_xxx-xxxOpenssl_xxx-Win32.zip。解壓縮后找到這5個文件mod_ssl.so(modules 目錄),ssl.conf ,ssl.default.conf (conf 目錄,

其中default.conf 作為備份),libeay32.dll, ssleay32.dll (這2個都在bin 目錄)。把它們?nèi)紡?fù)制到你自己的apahce 下的對應(yīng)目錄。

###############################################################################

接下來,更改設(shè)置文件

對于httpd.conf 和ssl.conf ,如果你的服務(wù)器沒有域名,那么servername 就填ip 好了。

比如:ServerName 10.10.10.10:80(httpd.conf )

ServerName 10.10.10.10:443(ssl.conf)

打開httpd.conf :

找到#LoadModule ssl_module modules/mod_ssl.so,去掉前面的‘#‘,這樣就在啟動時加載了ssl 模塊。

打開ssl.conf :

找到#;和#;,把前面的’#‘號都去掉,否則啟動apache 時還要加參數(shù),麻煩。 如下設(shè)置:

SSLMutex none (這個我是none ,有人是default ,具體怎么設(shè)可以研究一下)

SSLCertificateFile conf/server.crt (服務(wù)器證書的位置,就是公鑰吧?) SSLCertificateKeyFile conf/server.key (服務(wù)器私鑰的位置)

SSLCACertificateFile conf/ca.crt (CA 根證書的位置,進(jìn)行客戶端驗(yàn)證時需要。也是一個CA 公鑰吧?

,

我把它們都放在apache 的conf 目錄下了)

DocumentRoot "xxxxx" (指向要ssl 加密認(rèn)證的文檔目錄,比如"f:/http")

SSLVerifyClient require (去掉前面的‘#’號,進(jìn)行客戶端驗(yàn)證時需要)

SSLVerifyDepth 1 (去掉前面的‘#’號,把10改為1,進(jìn)行客戶端驗(yàn)證時需要)

##############################################################################

現(xiàn)在,就要制作證書了

去openvpn.net 下載并安裝openvpn 。

這是一個虛擬個人網(wǎng)絡(luò)制作工具,他能完美的在win(linux,BSD也行) 下制作根、服務(wù)器、客戶端證書。

安裝完畢后,開始-程序-附件-命令提示符,進(jìn)到openvpn 的easy-rsa 目錄,比如:

f:program filesopenvpn?sy-rsa>;_

輸入:

init-config 回車

會產(chǎn)生幾個文件,切換出來,打開vars.bat 文件,修改其中的KEY_COUNTRY(國家2位字母), KEY_PROVINCE(省2位字母), KEY_CITY(城市), KEY_ORG(組織), KEY_EMAIL(電子郵箱)這幾個參數(shù),免的后面制證時

反復(fù)輸入麻煩。保存退出,繼續(xù)使用命令提示符。

依次輸入以下兩個命令,當(dāng)然是分別回車嘍:

vars

clean-all (這兩個是準(zhǔn)備工作)

####################################################################################

1.

建立CA 根證書

,

接著輸入build-ca 回車(這個就是建立CA 根證書啦)

然后顯示:

ai:/usr/share/openvpn/easy-rsa # ./build-ca

Generating a 1024 bit RSA private key

............

...........

writing new private key to 'ca.key'

-----

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [KG]: 國家名2位字母,默認(rèn)的參數(shù)就是我們剛才修改過的。

State or Province Name (full name) [NA]: 省、州名2位字母 Locality Name (eg, city) [BISHKEK]: 城市名

Organization Name (eg, company) [OpenVPN-TEST]: 組織名

Organizational Unit Name (eg, section) []: 組織里的單位名 Common Name (eg, your name or your server's hostname) []:這個是關(guān)鍵,應(yīng)該輸入頒發(fā)根證書單位的域名

,不過因?yàn)槭歉C書,所以怎么填都無所謂。只有服務(wù)器證書才需要認(rèn)真填。 Email Address [me@myhost.mydomain]: 電子郵箱

好了,CA 根證書制作完成!在keys 目錄下,它的名字就叫ca.crt ,CA 的私鑰是ca.key

#######################################################################

2.

現(xiàn)在制作服務(wù)器證書:

在命令提示符下,輸入

build-key-server server 回車

,

你會看到和上面很相似的東西

但要注意這里的Common Name (eg, your name or your server's hostname) []: 這個才是真正的關(guān)鍵。這里應(yīng)該輸入服務(wù)器的域名比如www.xxx.com 。 如果沒有域名,就應(yīng)該填ip ,與httpd.conf 和ssl.conf 里的設(shè)置對應(yīng), ServerName 10.10.10.10:80(httpd.conf )

ServerName 10.10.10.10:443(ssl.conf)

也就是說填:10.10.10.10

接下來看到 a challenge password []:填不填隨便,我不填

an optional company name []: 填不填隨便,我不填

sign the certificate? [y/n] 敲y 回車。用CA 根證書對服務(wù)器證書簽字認(rèn)證。 1 out 1 certificate requests certified,commit? [y/n] 敲y 回車,確認(rèn)。

好了,建好了在keys 目錄下的server.crt (證書)和server.key (私鑰)

#######################################################################

3.

現(xiàn)在制作客戶端證書:

在命令提示符下,輸入

build-key client1 回車

又是一通國家省市組織等等,comman name也是隨便填的。

然后

a challenge password []:填不填隨便,我不填

an optional company name []: 填不填隨便,我不填

sign the certificate? [y/n] 敲y 回車。用CA 根證書對客戶端證書簽字認(rèn)證。 1 out 1 certificate requests certified,commit? [y/n] 敲y 回車,確認(rèn)。

好了,建好了在keys 目錄下的client1.crt (客戶端證書)和client1.key (私鑰)

等等, .crt的客戶端證書是不能使用的, 必須把它轉(zhuǎn)化為.pfx 格式的文件!!

所以, 還是在命令提示符下, 輸入

openssl 回車

看到openssl>;

再輸入

,

pkcs12 -export –in keys/client1.crt -inkey keys/client1.key -out keys/client1.pfx

回車,

看到Enter export password:會要求你建立客戶端證書的輸出密碼, 我填hehe , verifying-Enter export password再確認(rèn)一遍hehe ,好了!

########################################################################

把keys 目錄下的ca.crt 和server.crt,server.key 都復(fù)制到apache 的conf 目錄下,(ssl.conf需要)

ca.key 自己保留吧,找個合適的地方儲存起來.

#########################################################################

客戶端安裝證書

打開internet explorer(IE),工具-internet 選項-內(nèi)容-證書,點(diǎn)選' 個人' 再點(diǎn)擊導(dǎo)入, 把客戶端證書client1.pfx 導(dǎo)入到個人組里(別忘了擴(kuò)展名是pfx) 。 這里還要輸入剛才建立的輸出密碼hehe 才能倒入呢。

接著,點(diǎn)選' 受信任的根證書頒發(fā)機(jī)構(gòu)' ,點(diǎn)擊導(dǎo)入,把CA 根證書ca.crt 導(dǎo)入到受信任的根證書頒發(fā)機(jī)構(gòu)里。

#########################################################################

好啦,重新啟動apache ,打開IE ,

在地址欄里輸入https://10.10.10.10或者域名,彈出個窗口要選擇個人的數(shù)字證書。

點(diǎn)選,然后確定。

如果服務(wù)器證書的common name 填寫正確的話,你就可以直接進(jìn)入網(wǎng)站了,看到右下角的小鎖頭(可靠的SSL128位)。

如果服務(wù)器證書的common name 填寫不正確,就會彈出個‘安全警報’框,告訴你3條:

1. 安全證書由信任的站點(diǎn)頒發(fā)

(如果說是由不信任的站點(diǎn)頒發(fā),那就是你的ca 根證書ca.crt 沒有導(dǎo)入到ie

,

的受信任的根證書頒發(fā)機(jī)構(gòu)里)

2. 安全證書的日期有效

(這個日期缺省是10年,可以在openvpn 的easy-rsa 目錄下的openssl.cnf 里調(diào)整修改,然后重新制作一整套證書(openssl.cnf 看起來像撥

號網(wǎng)絡(luò)的快捷方式,要用記事本,寫字板打開修改))

3.“安全證書上的名稱無效,或者與站點(diǎn)名稱不匹配”

這就是服務(wù)器證書的common name 填寫不正確所致,不過這也沒關(guān)系,有人好像愿意這樣。我是不想看到這個警告框,煩人。

即使有安全警報,你仍能進(jìn)入網(wǎng)站,看到右下角的小鎖頭(可靠的SSL128位)

#################################

最后,成功啦!用吧。

我自己把httpd.conf 里的listen 80都加#注釋了,servername 改為10.10.10.10:443,只用https 不用http ,嗬嗬?。?!

標(biāo)簽: