freeRADIUS rlm_python предоставил размер EAP-сообщения

Я успешно установил соединение EAP-TLS между freeRADIUS и wpa_supplicant. Wpa_supplicant успешно аутентифицируется модулем EAP freeRADIUS. После этого я добавил модуль rlm_python, как описано в документации, и включил авторизацию для python. В файле example.py по умолчанию я могу получить все атрибуты RADIUS и особенно EAP-сообщение на этапе авторизации.

После EAP-запроса типа TLS-server_hello wpa_supplicant отвечает EAP-Response, включающим в себя сертификат клиента и т. Д., Который больше, чем другие ответы, около 1400 байт. В функции авторизации python я вижу EAP-сообщение, но значение EAP-сообщения указывается не полностью. Похоже, что значение EAP-Message было сокращено до 1020 шестнадцатеричных символов. Моя цель - извлечь сертификат клиента из этого EAP-сообщения, но он не работает, потому что он был разрезан пополам. Опять же, соединение EAP-TLS работает.

  1. Можно ли увеличить это ограничение размера EAP-сообщения?
  2. Есть ли другой способ получить весь сертификат клиента?

example.py

def authorize(p):
    print "*** authorize ***"
    radiusd.radlog(radiusd.L_INFO, '*** radlog call in authorize ***')
    print
    print p
    for tuples in p:
        if tuples[0] == "EAP-Message":
          print(len(tuples[1]))
          # prints 1020, but should be much larger.
    print
    print radiusd.config
    return radiusd.RLM_MODULE_OK

0 ответов

Другие вопросы по тегам