0

我在嵌入式框中使用 wpa_supplicant(运行 linux)。wpa_supplicant 按预期工作,但是当用户证书过期(只有用户证书而不是根证书)时,设备仍在网络中运行并且没有断开连接。只有当我执行“ifconfig eth0 down”然后是“ifconfig eth0 up”时,它才会断开连接。是否有定期验证证书的机制,如果有,该怎么做。

wpa_supplicant 配置如下:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=2
ap_scan=0
  network={
      ssid="YOUR-SSID"
      key_mgmt=IEEE8021X
      eap=PEAP
      identity="test"
      password="password"
      ca_cert="/etc/certs/cacert.pem"
      phase2="autheap=TLS"
      ca_cert2="/etc/certs/cacert.pem"
      private_key2="/etc/certs/test.pfx"
      private_key2_passwd="password"
      }
4

1 回答 1

1

也许一个shell脚本可以帮助你?一旦在 -B 标志中运行 wpa_supplicant,就很难取消它,但使用“kill”系统调用。所以你可能会写一个这样的脚本:(例如)

run wpa_supplicant with -B
loop start
  sleep 100 && 
  if user certificate expires then kill wpa_supplicant && 
  reload wpa_supplicant
loop end

该脚本将帮助您在 100 秒内杀死并重新加载 wpa_supplicant。

于 2016-03-25T08:03:38.577 回答