this works, but revocation will not work. so if you revoke a cert, the authentication will still pass. If you want to be able to revoke certs, and have free radius honor that, then follow what worked for me:
I have found the workaround solutions posted in the forums, for free radius and a functioning CRL, do not quite work.
The workarounds listed:
https://sites.google.com/site/techbobbins/home/articles/freeradius-and-crls
semi work. The problem is, the manual changes are wiped away easily. i.e. a change in the radius config (i.e. a user attribute), will cause the radius.conf and the cert files to be overwritten. A little background on my system:
-Free radius v3
-pfsense v2.42 p1
Now, i think i may have found a workaround, that is "sticky". It follows the same method as listed in this thread (https://sites.google.com/site/techbobbins/home/articles/freeradius-and-crls), but instead of appending the CA/CRL in the same file via the CAT command, append the CRL via the pfsense GUI to the CA cert body. This way, every time you reload freeradius, it reads form the PFSENSE Cert files, and now everything works.
Also, i found if you configure sub CA's, free radius has issues with that. So, a work around for that, is to:
-create your root CA
-create sub CA
-create crl for sub ca
-then, "import" a CA. the cert body will be the root->sub->crl
-create free radius server cert
-in free radius, use the "import" CA, and the free radius server cert
..i found if you dont do this, free radius will error with error 19, self signed in the chain. Understand the reason to use sub certs is for security, as i understand root CA's are designed to create sub CA's, not user or server certs. This way, if sub CA is copromised, you dont have to recreate cert chain, just that particular sub ca.
I dont claim to be a PKI expert, but the above worked for me.
–-note, for revocation to work, you will have to re-paste the CRL info back into the "import" cert, and restart radius. note, that restarting radius via the GUI, i.e services click the restart gear, does not work. I found i needed to make a change to free radius, i.e change a setting in the eap config, save it, then set it back, svae it. this seems to trigger a true radius restart.
hope this helps