Freeradius證書認證模式配置
作業系統: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
/* Under Win32these are defined in wincrypt.h */
#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,請各位自行下載
相關文章
- 使用OpenSSH證書認證
- 如何獲得PMP認證證書
- 數字證書認證(CA)中心
- adobe photoshop 認證證書
- adobe認證證書含金量
- 網路身份認證——Kerberos配置及認證ROS
- 搭建freeradius+daloradius作為認證伺服器伺服器
- SSL認證失敗,製作證書
- 如何配置Apple推送證書 push證書APP
- PG中級證書到手,PostgreSQL(PG)認證SQL
- Adobe認證證書怎麼考?
- iOS開發證書配置系列之——推送證書配置導引iOS
- adobe國際認證證書有用嗎?
- iOS HTTPS雙向認證以及證書操作iOSHTTP
- 證書的數字簽名和認證 (轉)
- 自助控制皮膚模式配置SSL證書的方法模式
- redis配置認證密碼Redis密碼
- WCFNetTcpBindingTransport安全模式(8)ClientCredentialType證書驗證模式—-PeerOrChainTrust驗證模式TCP模式clientAIRust
- WCFNetTcpBindingTransport安全模式(7)ClientCredentialType證書驗證模式—-ChainTrust驗證模式TCP模式clientAIRust
- 中科聲龍榮獲《中國質量認證監督管理中心》認證證書
- Kubernetes客戶端認證——基於CA證書的雙向認證方式客戶端
- Openssl 設定 雙向認證證書的過程
- HTTP認證模式:Basic & DigestHTTP模式
- Tomcat伺服器配置https雙向認證(使用keytool生成證書)Tomcat伺服器HTTP
- Nginx 配置https證書NginxHTTP
- Ceph配置與認證授權
- Apache 配置https 自簽名證書 或者 購賣證書ApacheHTTP
- Kubelet證書自動續簽(為kubelet配置證書輪換)
- WHQL 認證需要購買EV 程式碼簽名證書
- 各種程式語言忽略http的SSL證書認證HTTP
- TUV南德為元太光伏頒發認證證書
- 關於SSL證書雙向認證該怎麼操作
- Adobe國際認證證書有必要考嗎?
- 【文末彩蛋】Adobe國際認證證書查詢
- 多彩科技多款鍵盤獲得微軟WHQL認證證書微軟
- HTTPS的SSL證書配置HTTP
- Tomcat 8.5 配置 SSL 證書Tomcat
- 需要rhce(redhat認證)證書的聯絡warehouse。無需自己考,直接拿證。Redhat