Acabei conversando com a TI da organização e resolvi o problema com facilidade. Meu erro consiste em vários erros:
- incluindo o certificado errado
- não incluindo o certificado raiz correto
- não está solicitando os certificados na ordem correta
O arquivo "CA certificate" precisa ser um único arquivo de texto (formato PEM) contendo uma lista de certificados, encadeada em ordem de confiança (menos primeiro confiável, o último mais confiável). O certificado RADIUS não precisa ser incluído (e não deve ser). O certificado RADIUS também tem o menor tempo de vida válido. Temos que incluir os certificados upstream até a raiz certificado para que esta abordagem funcione. No meu caso, a ordem de confiança é assim (do menos para o mais confiável):
RADIUS cert -> intermediary cert -> root cert
Aviso: seu caso pode ser muito diferente. O cara de TI me disse que meu certificado raiz é "GlobalSign Raiz R1 ", que possui o seguinte número de série:
04:00:00:00:00:01:15:4b:5a:c3:94
Eu não teria conseguido localizar isso sem a ajuda dele. Eu baixei o certificado raiz do site da GlobalSign (veja abaixo), então converteu o certificado binário para o formato PEM:
$ openssl x509 -inform der -in Root-R1.crt -out Root-R1.pem
depois encadeou os certificados como root
# cat globalsign_intermediary.pem Root-R1.pem > /etc/NetworkManager/certs/work/all-certs.pem
e incluiu o caminho completo de all-certs.pem
no NetworkManager
configuração de conexão (por meio da GUI ou editando o arquivo de texto que listei
a questão).
Agora, reinicie o NetworkManager - na minha caixa debian, isso significa:
# service networkmanager restart
Uma vez reiniciado, pude verificar a autenticidade do AP, conforme indicado no syslog:
Jul 8 16:03:32 wirawan1 wpa_supplicant[3638]: wlan0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=25
Jul 8 16:03:32 wirawan1 wpa_supplicant[3638]: wlan0: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 25 (PEAP) selected
Jul 8 16:03:32 wirawan1 wpa_supplicant[3638]: wlan0: CTRL-EVENT-EAP-PEER-CERT depth=2 subject='/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA'
Jul 8 16:03:32 wirawan1 wpa_supplicant[3638]: wlan0: CTRL-EVENT-EAP-PEER-CERT depth=1 subject='/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Organization Validation CA - G2'
Jul 8 16:03:32 wirawan1 wpa_supplicant[3638]: wlan0: CTRL-EVENT-EAP-PEER-CERT depth=0 subject='/C=US/XXXXXX (details removed)'
Jul 8 16:03:33 wirawan1 wpa_supplicant[3638]: EAP-MSCHAPV2: Authentication succeeded
Jul 8 16:03:33 wirawan1 wpa_supplicant[3638]: EAP-TLV: TLV Result - Success - EAP-TLV/Phase2 Completed
Jul 8 16:03:33 wirawan1 wpa_supplicant[3638]: wlan0: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
Lá vai você. Espero que esta resposta possa ajudar outra pessoa. Eu levei muito suor para descobrir isso.
Wirawan
Mais detalhes
Para os interessados, o certificado intermediário tem o seguinte assunto:
subject= /C=BE/O=GlobalSign nv-sa/CN=GlobalSign Organization Validation CA - G2
Essa CA de "organização" deve usar a chave R1, como mostrado aqui:
https://support.globalsign.com/customer/portal/articles/1426602-globalsign-root-certificates