Foi um problema com as permissões do SELinux: executar o comando chcon -t NetworkManager_var_run_t
nos certificados corrigidos.
Quando inicio wpa_supplicant
como um serviço sudo service start wpa_supplicant
(e o mesmo problema se estiver em um arquivo de inicialização), meu laptop não se conectará a uma rede EAP, com erros em /var/log/wpa_supplicant
como:
1478280999.154045: OpenSSL: pending error: error:2006D002:BIO routines:BIO_new_f
ile:system lib
1478280999.154052: OpenSSL: pending error: error:0B084002:x509 certificate routi
nes:X509_load_cert_crl_file:system lib
1478280999.154062: OpenSSL: tls_load_ca_der - Failed load CA in DER format error
:0200100D:system library:fopen:Permission denied
1478280999.154068: OpenSSL: pending error: error:20074002:BIO routines:FILE_CTRL
:system lib
1478280999.154074: OpenSSL: pending error: error:0B06F002:x509 certificate routi
nes:X509_load_cert_file:system lib
1478280999.154079: TLS: Failed to set TLS connection parameters
1478280999.154085: EAP-TLS: Failed to initialize SSL.
1478280999.154091: EAP: Failed to initialize EAP method: vendor 0 method 13 (TLS
)
1478281000.477040: CTRL-EVENT-EAP-FAILURE EAP authentication failed
1478281002.477915: Authentication with 6c:f3:7f:af:fb:62 timed out.
1478281002.493367: CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:00 reason=0
1478281002.993907: Failed to initiate AP scan.
1478281003.994183: Failed to initiate AP scan.
1478281004.994662: Failed to initiate AP scan.
1478281005.558072: Trying to associate with 6c:f3:7f:af:fb:72 (SSID='eduroam' fr
eq=5825 MHz)
1478281005.561055: Association request to the driver failed
1478281005.569691: Associated with 6c:f3:7f:af:fb:72
1478281005.573148: CTRL-EVENT-EAP-STARTED EAP authentication started
1478281005.845088: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=13
1478281005.845239: OpenSSL: tls_connection_ca_cert - Failed to load root certifi
cates error:0200100D:system library:fopen:Permission denied
1478281005.845268: OpenSSL: pending error: error:2006D002:BIO routines:BIO_new_f
ile:system lib
1478281005.845291: OpenSSL: pending error: error:0B084002:x509 certificate routi
nes:X509_load_cert_crl_file:system lib
1478281005.845326: OpenSSL: tls_load_ca_der - Failed load CA in DER format error
:0200100D:system library:fopen:Permission denied
1478281005.845348: OpenSSL: pending error: error:20074002:BIO routines:FILE_CTRL
:system lib
1478281005.845368: OpenSSL: pending error: error:0B06F002:x509 certificate routi
nes:X509_load_cert_file:system lib
1478281005.845383: TLS: Failed to set TLS connection parameters
1478281005.845425: EAP-TLS: Failed to initialize SSL.
1478281005.845446: EAP: Failed to initialize EAP method: vendor 0 method 13 (TLS
)
1478281007.073725: CTRL-EVENT-EAP-FAILURE EAP authentication failed
1478281009.074324: Authentication with 6c:f3:7f:af:fb:72 timed out.
A seguir, a parte relevante do meu /etc/wpa_supplicant/wpa_supplicant.log
:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=1
network={
ssid="eduroam"
proto=RSN
key_mgmt=WPA-EAP
pairwise=CCMP
group=CCMP
eap=TLS
identity="[email protected]"
ca_cert="/home/chris/cert/ca.crt"
client_cert="/home/chris/cert/cert.pem"
private_key="/home/chris/cert/key.pem"
private_key_passwd="LONGPASSWORD"
priority=10
}
E meu /etc/sysconfig/wpa_supplicant
:
# Use the flag "-i" before each of your interfaces, like so:
# INTERFACES="-ieth1 -iwlan0"
INTERFACES="-iwlan0"
# Use the flag "-D" before each driver, like so:
# DRIVERS="-Dwext"
DRIVERS="-Dwext"
# Other arguments
# -u Enable the D-Bus interface (required for use with NetworkManager)
# -f Log to /var/log/wpa_supplicant.log
# -P Write pid file to /var/run/wpa_supplicant.pid
# required to return proper codes by init scripts (e.g. double "start" action)
# -B to daemonize that has to be used together with -P is already in wpa_supplicant.init.d
# -t include timestamp in debug messages
OTHER_ARGS="-f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid -t"
As redes abertas funcionam bem e todas as redes funcionam bem se eu executar wpa_supplicant
manualmente, como sudo wpa_supplicant -Dwext -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -B
.
Editar: Algumas informações extras - eu consegui acessar as redes WPA2-PSK muito bem, então, de fato, parece ser específico do EAP-TLS.
A pasta /home/chris/cert/
está acessível para o root?
Além disso, com base em este :
Esta pasta está criptografada? você pode tentar mover seus certs para algum outro lugar?