os: ubuntu 18.04 lts
install: apt-get install freeradius & openssl
CA 憑證
1.先初始化 index.txt 和 serial 文件
# cd /etc/pki/CA/
# touch index.txt serial
# echo 01 > serial
2.生成 CA 的私钥(private key)
# cd /etc/pki/CA/
# openssl genrsa -out cakey.pem 2048
3.生成 CA 的证书(certificate),使用 req 命令生成自签证书
# openssl req -new -x509 -sha384 -nodes -days 3650 -key cakey.pem -out cacert.pem
4. pem-> der (給windows 10 使用)
#openssl x509 -inform PEM -outform DER -in cacert.pem -out ca.der
======================================================================
Server 憑證
1. 生成 ECDH 的私钥(private key)
# openssl ecparam -out secp384.pem -name secp384r1
# openssl genpkey -paramfile secp384.pem -out server.key
2.生成 ECDH 的公钥(public key)
# openssl pkey -in server.key -pubout -out server.pem
3.生成 CSR(Certificate Request)文件
# openssl genrsa -out rsakey.pem 1024
# openssl req -new -sha384 -nodes -key rsakey.pem -out server.csr
4 CA 证书簽發。
#openssl x509 -sha384 -req -in server.csr -days 3650 -CAkey cakey.pem -CA cacert.pem -force_pubkey server.pem -out server-cert.pem -CAcreateserial
5.
openssl pkcs12 -export -in server-cert.pem -inkey server.key -out server.p12
6. openssl pkcs12 -in server.p12 -out server.pem
chmod g+r server.pem
===========================================================================================
Client 憑證
1. 生成 ECDH 的私钥(private key)
# openssl ecparam -out secp384_c.pem -name secp384r1
# openssl genpkey -paramfile secp384_c.pem -out client.key
2.生成 ECDH 的公钥(public key)
# openssl pkey -in client.key -pubout -out client.pem
3.生成 CSR(Certificate Request)文件
# openssl genrsa -out rsakey1.pem 1024
# openssl req -new -sha384 -nodes -key rsakey1.pem -out client.csr
4 CA 证书簽發
#openssl x509 -sha384 -req -in client.csr -days 3650 -CAkey cakey.pem -CA cacert.pem -force_pubkey client.pem -out client-cert.pem -CAcreateserial
5.匯出給windows client使用
openssl pkcs12 -export -in client-cert.pem -inkey client.key -out client.p12
===========================================================================================
1. 修改 eap config
修改 etc/freeradius/3.0/mods-avaiable/eap.conf
- cipher_list = "DEFAULT"
+ cipher_list = "HIGH"
- ecdh_curve = "prime256v1"
+ ecdh_curve = "secp384r1"
2. eap.conf裡修改ca / server 憑證的正確路徑、檔案名稱’及密碼。
3.. 設定client.conf 和users 去加入需要的使用者及認證的網段
client.conf
client 192.168.0.0/24 {
secret = testing123
shortname = private-network-1
4. users
“test” Cleartext-Password := "test123"
Reply-Message = "Hello, %{User-Name}"
5. 啟動 :freeradiusd –X ,看有無錯誤訊息。
6. windows 10 需更新到最新版本才會支援wpa3-enterpeise 及owe
7. 匯入ca.der及clien.p12的憑證到windows10 。