FreeRadius Ceritificate Migration
John Dennis
jdennis at redhat.com
Tue May 14 23:53:55 CEST 2013
Thank you for including the full debug. Here is the section from the
rlm_eap_tls initialization.
> Module: Instantiating eap-tls
> tls {
> rsa_key_exchange = no
> dh_key_exchange = yes
> rsa_key_length = 512
> dh_key_length = 512
> verify_depth = 0
> CA_path = "/usr/local/etc/raddb/certs/roots"
> pem_file_type = yes
> private_key_file = "/usr/local/etc/raddb/certs/servercert.pem"
> certificate_file = "/usr/local/etc/raddb/certs/servercert.pem"
> private_key_password = "********"
> dh_file = "/usr/local/etc/raddb/certs/dh"
> random_file = "/usr/local/etc/raddb/certs/random"
> fragment_size = 1024
> include_length = yes
> check_crl = no
> cipher_list = "DEFAULT"
> make_cert_command = "/usr/local/etc/raddb/certs/bootstrap"
> ecdh_curve = "prime256v1"
> cache {
> enable = no
> lifetime = 24
> max_entries = 255
> }
> verify {
> }
> ocsp {
> enable = no
> override_cert_url = yes
> url = "http://127.0.0.1/ocsp/"
> use_nonce = yes
> timeout = 0
> softfail = no
> }
> }
A couple of things immediately jump out at me. This is not the default
configuration. First of all there is no CA_file configured (only
CA_path). You must have commented that out or deleted it. That means you
can't use a bundled CA file. Secondly the CA_path is not the default
either, you've got /usr/local/etc/raddb/certs/roots. Does that directory
exist? But more importantly can radiusd execute the directory and read
it's contents? These are file/directory permission issues. In
radiusd.conf are user and group variables, these are the user and group
respectively that radiusd runs as *after* it initializes. I'm not sure
if OpenSSL reads the CA files before or after radiusd drops privileges
from root to the user/group specified in radiusd.conf. But at the time
OpenSSL reads the files it has to have permission to traverse into the
directory (execute permission) and have read permission on the files to
read their contents.
If you're not sure if radiusd is reading the CA files or not it's easy
to verify by running radiusd under strace (hint: use -o to direct the
output to a file and then search for your CA_path) you should see the
directory being opened and files being read. If there are permission
problems you'll see error information in the strace output.
HTH,
John
--
John Dennis <jdennis at redhat.com>
Looking to carve out IT costs?
www.redhat.com/carveoutcosts/
More information about the Freeradius-Users
mailing list