EAP-TLS not working with ECC Keys
n5d9xq3ti233xiyif2vp at pm.me
n5d9xq3ti233xiyif2vp at pm.me
Thu Sep 19 09:35:25 UTC 2024
Hi
What am I missing to get EAP working both radius server and clients having ECC (P521) keys ?
Running freeradius in the foreground shows me this:
(8) eap_tls: (TLS) EAP Peer says that the final record size will be 378 bytes
(8) eap_tls: (TLS) EAP Got all data (378 bytes)
(8) eap_tls: (TLS) recv TLS 1.3 Handshake, ClientHello
(8) eap_tls: (TLS) Handshake state - Server SSLv3 read client hello A
(8) eap_tls: (TLS) send TLS 1.3 Handshake, ServerHello
(8) eap_tls: (TLS) Handshake state - Server SSLv3 write server hello A
(8) eap_tls: (TLS) send TLS 1.3 Handshake, type=8
(8) eap_tls: (TLS) send TLS 1.3 Handshake, CertificateRequest
(8) eap_tls: (TLS) Handshake state - Server SSLv3 write certificate request A
(8) eap_tls: (TLS) send TLS 1.3 Alert, fatal handshake_failure
(8) eap_tls: ERROR: (TLS) Server : Error in SSLv3 write certificate A
(8) eap_tls: ERROR: (TLS) Failed reading from OpenSSL
(8) eap_tls: ERROR: (TLS) error:1402D0FB:SSL routines:ACCEPT_SW_CERT:unknown pkey type
(8) eap_tls: ERROR: (TLS) error:14FFF0A8:SSL routines:(UNKNOWN)SSL_internal:missing rsa certificate
(8) eap_tls: ERROR: (TLS) System call (I/O) error (-1)
(8) eap_tls: ERROR: (TLS) EAP Receive handshake failed during operation
"missing rsa certificate" is the bit that jumps out at me.
My /etc/raddb/mods-available/eap file looks like the following:
eap {
default_eap_type = tls
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = ${max_requests}
tls-config tls-common {
private_key_password = THIS_HAS_BEEN_REMOVED_TO_PROTECT_THE_INNOCENT
private_key_file = /etc/foobar/wifi/cert-out.key
certificate_file = /etc/foobar/wifi/cert-out.crt
ca_file = /etc/foobar/wifi/ca-chain.pem
dh_file = /etc/foobar/wifi/dh.pem
ca_path = ${cadir}
cipher_list = "DEFAULT"
cipher_server_preference = no
tls_min_version = "1.2"
tls_max_version = "1.3"
ecdh_curve = "secp521r1"
cache {
enable = no
store {
Tunnel-Private-Group-Id
}
}
verify {
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
}
}
tls {
tls = tls-common
}
}
More information about the Freeradius-Users
mailing list