如何从 iOS 获取内部隧道中的用户密码
How to get User-Password in inner tunnel from iOS
我正在尝试设置 freeradius 服务以允许针对 https api 进行身份验证。我让它适用于大多数 android 设备,甚至我的 Mac 专业书籍也适用。但是,当我们尝试使用 iOS 设备(iPad、iPhone)时,内部隧道无法获取用户密码字段。
因此当前设置为 EAP -> TTLS -> 自定义身份验证
eap.conf ttls 部分
ttls {
default_eap_type = md5
copy_request_to_tunnel = yes
use_tunneled_reply = yes
virtual_server = "inner-tunnel"
}
内部隧道自定义身份验证
authorize {
...
update control {
Auth-Type := `/usr/local/bin/admin_portal.py %{User-Name} '%{User-Password}' %{Calling-Station-Id}`,
Fall-Through = Yes
}
}
当我运行处于调试模式时,我得到以下输出
expand: %{User-Name} -> user@somedomain.com
expand: '%{User-Password}' -> ''
expand: %{Calling-Station-Id} -> 01-23-45-67-89-ab
但是,当我使用非 iOS 设备时,会填充密码。
如有任何帮助,我们将不胜感激。
谢谢。
您需要一个以明文形式发送密码的 TTLS 内部方法。最常见的方法是 TTLS-PAP。
如果请求者使用 TTLS-PAP 进行身份验证,代理请求(到内部隧道)将包含一个用户密码属性,其中包含用户输入(或缓存)的值。
下面是使用 Apple Configurator 设置配置文件的示例。
我正在尝试设置 freeradius 服务以允许针对 https api 进行身份验证。我让它适用于大多数 android 设备,甚至我的 Mac 专业书籍也适用。但是,当我们尝试使用 iOS 设备(iPad、iPhone)时,内部隧道无法获取用户密码字段。
因此当前设置为 EAP -> TTLS -> 自定义身份验证
eap.conf ttls 部分
ttls {
default_eap_type = md5
copy_request_to_tunnel = yes
use_tunneled_reply = yes
virtual_server = "inner-tunnel"
}
内部隧道自定义身份验证
authorize {
...
update control {
Auth-Type := `/usr/local/bin/admin_portal.py %{User-Name} '%{User-Password}' %{Calling-Station-Id}`,
Fall-Through = Yes
}
}
当我运行处于调试模式时,我得到以下输出
expand: %{User-Name} -> user@somedomain.com
expand: '%{User-Password}' -> ''
expand: %{Calling-Station-Id} -> 01-23-45-67-89-ab
但是,当我使用非 iOS 设备时,会填充密码。
如有任何帮助,我们将不胜感激。 谢谢。
您需要一个以明文形式发送密码的 TTLS 内部方法。最常见的方法是 TTLS-PAP。
如果请求者使用 TTLS-PAP 进行身份验证,代理请求(到内部隧道)将包含一个用户密码属性,其中包含用户输入(或缓存)的值。
下面是使用 Apple Configurator 设置配置文件的示例。