作業系統:Ubuntu 10.04.3 LTS + Windows 7 64bit
系統環境:
1) Ubuntu所需環境為Openssl + Freeradius
2) Windows所需環境為WpdPack + Openssl + wpa_supplicant
Ubuntu環境配置步驟:
1) 下載下傳Openssl +Freeradius并安裝
sudo apt-get install openssl
sudo apt-get install freeradius
2) 使用openssl制作根證書,radius伺服器證書以及一個用戶端證書
A. 制作根證書
cd etc/ssl
openssl req -newkey rsa:1024 -md5 -config ./openssl.cnf-keyout rootkey.pem -out rootreq.pem -days 3650
openssl x509 -req -in rootreq.pem -md5 -extfile./openssl.cnf -extensions v3_ca -signkey rootkey.pem -out rootcert.pem -days3650
cat rootcert.pem rootkey.pem > root.pem
制作完成之後,裡面的rootcert.pem以及root.pem是我們需要的
B. 制作radius伺服器證書
在etc/ssl目錄下面,建立一個檔案名為xpextensions的檔案,并在檔案中寫入以下内容并儲存:
[xpclient_ext]
extendedKeyUsage= 1.3.6.1.5.5.7.3.2
[xpserver_ext]
extendedKeyUsage= 1.3.6.1.5.5.7.3.1
cd etc/ssl
openssl req -newkey rsa:1024 -md5 -config ./openssl.cnf-keyout serverkey.pem -out serverreq.pem -days 365
openssl x509 -req -in serverreq.pem -md5 -extfile xpextensions-extensions xpserver_ext -CA root.pem -CAkey root.pem -CAcreateserial -outservercert.pem -days 365
cat servercert.pem serverkey.pem rootcert.pem >server.pem
制作完成之後,裡面的server.pem是我們需要的
C. 制作用戶端證書
cd etc/ssl
openssl req -newkey rsa:1024 -md5 -config ./openssl.cnf-keyout clientkey.pem -out clientreq.pem -days 365
openssl x509 -req -in clientreq.pem -md5 -extfilexpextensions -extensions xpclient_ext -CA root.pem -CAkey root.pem-CAcreateserial -out clientcert.pem -days 365
cat clientcert.pem clientkey.pem rootcert.pem >client.pem
制作完成之後,裡面的client.pem是我們需要的
相關說明:
- 在制作證書過程中,會需要輸入證書密碼,測試時我使用的是12345678,如果你使用了别的,請在最後test.txt檔案中,也進行相應的修改
- 在證書建立過程中,需要輸入一些資訊,請按照提示進行輸入即可
3) 配置freeradius
A. 配置radius.conf
cd etc/freeradius
vi radius.conf
在配置檔案中隻修改以下兩行(請確定與下面兩行完全一緻)
$INCLUDE eap.conf
auth = yes
B.将伺服器證書server.pem(帶私鑰)和根CA憑證rootcert.pem(不帶私鑰)複制到freeradius的證書目錄下
sudo cp /etc/ssl/server.pem /etc/freeradius/certs/
sudo cp / etc/ssl /rootcert.pem /etc/freeradius/certs/
同時需要修改/etc/freeradius/certs/的權限,否則freeradius不能讀驗證書
sudo cd /etc/freeradius/certs
sudo chmod -R ug+rwx
C. 配置eap.conf
cd /etc/freeradius
sudo gedit eap.conf
關鍵語句如下:
eap {
default_eap_type = tls #認證類型:tls
tls {
certdir = ${confdir}/certs #伺服器證書目錄
cadir = ${confdir}/certs #CA憑證目錄
private_key_password = abcd #伺服器私鑰密碼
private_key_file = ${certdir}/server.pem #伺服器私鑰檔案
certificate_file = ${certdir}/server.pem #伺服器證書檔案
CA_file = ${cadir}/rootcert.pem #CA憑證檔案
}
}
D. 配置client.conf
cd /etc/freeradius
sudo gedit clients.conf
client 192.168.1.99{ #允許通路的用戶端IP
secret =12345678 #預共享密鑰
shortname =testing #别名
}
E. 配置user.conf
cd /etc/freeradius
testing Cleartext-Password := "password"
F. 重新開機freeradius服務
service freeradius stop
/usr/sbin/freeradius –Xf
G. 此步驟不是必須
如果需要修改支援的認證方式,請修改/etc/freeradius/sites-available目錄下的default檔案
Windows下測試環境配置:
1) 下載下傳WinPcap
下載下傳WpdPack_4_0_2.zip,解壓到C:\dev\WpdPack
2) 編譯OpenSSL
A.下載下傳openssl-1.0.1e.tar.gz并解壓
B.在\include\openssl\x509v3.h裡添加
#ifdef OPENSSL_SYS_WIN32
#undef X509_NAME
#undef X509_CERT_PAIR
#undef X509_EXTENSIONS
#endif
C.安裝ActivePerl
打開VS指令提示行,進入OpenSSL路徑,依次輸入以下指令:
perl Configure VC-WIN32 no-asm --prefix= C:\dev\OpenSSL
ms\do_ms
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
3) 編譯WPA Supplicant
A.下載下傳wpa_supplicant-0.7.3.tar.gz到C:\dev\wpa_supplicant-0.7.3
B. 用VS2010打開vs2005\wpa_supplicant.sln,編譯即可
C.編譯過程中間可能會遇到以下問題
- OpenSSL的宏定義和VS的wincrypt.h的宏定義沖突,需要按上述方法取消宏定義。
- wpa_supplicant-2.0在Windows下編譯有很多問題,用0.7.3版可以編譯。
- VS2005在編譯時會提示“調試資訊損壞,請重新編譯子產品”,經查詢是VS2005自身的bug(http://support.microsoft.com/kb/974193/zh-cn),改用VS2008可編譯。
- 将工程中需要用到libeay32MT.lib和ssleay32MT.lib的地方,都換成libeay32.lib和ssleay32.lib
4) 測試
A. 編寫測試腳本并命名為test.txt
network={
eap=TLS
eapol_flags=3
key_mgmt=IEEE8021X
identity="testing" #在usr.conf中添加的使用者
password="password" #在usr.conf中添加使用者的密碼
ca_cert="D:/root.pem" #根證書
client_cert="D:/client.pem" #用戶端證書
private_key="D:/client.pem" #用戶端證書私鑰
private_key_passwd="12345678" #證書使用密碼
phase2="autheap=MD5" #校驗算法
}
B. 将制作出來的根證書root.pem以及client.pem拷貝至D盤根目錄
C. 編寫測試腳本并儲存為test.bat
eapol_test.exe -c test.txt -a 192.168.1.133 -s 12345678
相關說明:
- 腳本中的192.168.1.133是指啟動了freeradius服務的伺服器位址
- 12345678是指共享的互動密鑰,及client.conf檔案中添加的密鑰
D. 執行test.bat
E. 期待您能一次成功
相關資源下載下傳:
wpa_supplicant:http://download.csdn.net/detail/wangyong0921/5639333
wpa_supplicant_runtime:http://download.csdn.net/detail/wangyong0921/5639391
WpdPack:khttp://download.csdn.net/detail/wangyong0921/5639363
openssl以及freeradius,請各位自行下載下傳