Oui, les configurations WPA-Enterprise les plus courantes utilisent PEAP ou TTLS, les deux implémentant TLS sur EAP sur 802.1X.
Habituellement, le certificat est déjà publié quelque part par les opérateurs de réseau à cet effet. Ce n'est pas quelque chose que l'utilisateur devrait demander .
Malheureusement, wpa_supplicant n'a pas d'option pour vider les certificats même en mode débogage. (Je mettrai à jour cela si je trouve un meilleur moyen.) Vous pouvez toujours surveiller le processus d'authentification EAPOL réel, cependant. Tout d'abord, installez Wireshark.
Une fois déconnecté, ouvrez l'interface manuellement et lancez une capture dessus:
$ sudo ip link set wlan0 up
$ wireshark -ki wlan0 &
Démarrez wpa_supplicant et bientôt vous verrez la prise de contact TLS:
Le serveur enverra ses certificats immédiatement après ServerHello. Sélectionnez le premier de ces paquets, puis explorez:
802.1X
└─Extensible Authentication Protocol
└─Secure Sockets Layer
└─Handshake Protocol: Certificatte
└─Certificates
Cliquez avec le bouton droit sur la première instance de "Certificat ( substance )" et choisissez "Exporter les octets de paquets sélectionnés". Wireshark l'enregistrera sous forme de fichier, au format DER binaire. Répétez cette opération pour tous les autres certificats. Le premier (serveur RADIUS) contient des informations que vous pouvez configurer altsubject_match
; la dernière (racine CA) doit être donnée à wpa_supplicant as ca_cert
.
Vous en avez maintenant quelques-uns *.crt
ou des *.der
fichiers au format DER binaire. Convertissez-les au format "texte" PEM:
openssl x509 -inform DER < mycert.der > mycert.pem
(Si votre wpa_supplicant utilise OpenSSL comme gestionnaire TLS, vous devez lui donner le certificat "root CA"; lui donner le certificat du serveur ne fonctionnera pas.
Notez qu'il est également possible que le dernier certificat vu dans Wireshark ne soit pas une autorité de certification racine, mais uniquement émis par l' une des autorités de certification racine de votre /etc/ssl/certs
répertoire ... Si tel est le cas, assurez-vous de le définir domain_suffix_match
également - sinon, l'utilisation d'autorités de certification publiques ne serait pas sécurisée (802.1X ne sait malheureusement pas contre quel "nom d'hôte" il faut vérifier, comme par exemple HTTPS.)