Generating Certificates for Windows Clients
1. Generate a Self-Signed CA Certificateβ
To generate a self-signed CA certificate (recommended for RADIUS deployments), open the CA configuration file:
nano /etc/freeradius/3.0/certs/ca.cnf
Modify CA Configurationβ
- In the
CA_defaultsection, increase the number of days so that the certificate will be valid for a long time (10 years in this case):
default_days = 3650
- In the
reqsection, change theinput_passwordandoutput_passwordfrom their default values:
input_password = tj367tHXVK
output_password = tj367tHXVK
- In the
certificate_authoritysection, enter your organizationβs information:
countryName = US
stateOrProvinceName = FL
localityName = Miami
organizationName = NPO Systems
emailAddress = admin@nposystems.com
commonName = "NPO Certificate Authority"
- Save and exit.
Generate CA Certificatesβ
- Run the following commands to generate CA certificates:
make ca.pem
make ca.der
2. Generate Server Certificateβ
Follow the same procedure to generate a server certificate:
nano /etc/freeradius/3.0/certs/server.cnf
Modify Server Configurationβ
- Modify the
server.cnffile:
default_days = 3650
input_password = tj367tHXVK
output_password = tj367tHXVK
[server]
countryName = US
stateOrProvinceName = FL
localityName = Miami
organizationName = NPO Systems
emailAddress = admin@nposystems.com
commonName = "NPO Systems Server Certificate"
-
Ensure the
commonNameis different from the one entered inca.cnf. -
Save and exit.
Generate Server Certificateβ
- Run the following command:
make server.pem
3. Set Correct Ownership for Certificatesβ
Ensure the generated files have the correct ownership:
chown freerad:freerad /etc/freeradius/3.0/certs/*
4. Update EAP Configurationβ
- Add the paths of the newly generated certificates in the EAP configuration file:
nano /etc/freeradius/3.0/mods-enabled/eap
- Modify the
tls-config tls-commonsection by adding the following values:
private_key_password = tj367tHXVK
private_key_file = /etc/freeradius/3.0/certs/server.pem
certificate_file = /etc/freeradius/3.0/certs/server.pem
ca_file = /etc/freeradius/3.0/certs/ca.pem
- Save and exit.
5. Restart FreeRADIUS Serviceβ
Restart the FreeRADIUS service to apply changes:
systemctl restart freeradius