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 работает.
- Можно ли увеличить это ограничение размера EAP-сообщения?
- Есть ли другой способ получить весь сертификат клиента?
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