windows网络适配器驱动开发-WiFiCx WPA3-SAE 身份验证
WiFiCx 支持 WPA3-SAE也称为 WPA3-Personal。 SAE平等方安全认证Secure Authentication of Equals的帧内容生成和解析在 Windows 系统中完成但操作系统需要驱动程序支持发送和接收 WPA3-SAE 身份验证帧。WPA3-SAE 功能WiFiCx 驱动程序通过以下操作来表明支持 SAE设置 SAE 支持的功能:驱动程序在调用 WifiDeviceSetDeviceCapabilities 期间在WIFI_DEVICE_CAPABILITIES中设置 SAEAuthenticationSupported 功能。设置 MFP 功能:驱动程序在调用 WifiDeviceSetStationCapabilities 期间在WIFI_STATION_CAPABILITIES中设置 MFPCapable 功能。添加 WDI_AUTH_ALGO_WPA3_SAE 密码:在调用 WifiDeviceSetStationCapabilities 时返回的身份验证和加密算法组合列表中驱动程序包括 WDI_AUTH_ALGO_WPA3_SAE DOT11_CIPHER_ALGO_CCMP 这一对。 这应添加到以下结构中WIFI_STATION_CAPABILITIES -NumSupportedUnicastAlgorithms UnicastAlgorithmsList驱动程序还在调用 WifiDeviceSetStationCapabilities 时返回的身份验证-密码组合列表中包括WDI_AUTH_ALGO_WPA3_SAE WDI_CIPHER_ALGO_BI 这一组合。 它应添加到以下结构中WIFI_STATION_CAPABILITIES -NumSupportedMulticastMgmtAlgorithms MulticastMgmtAlgorithmsListWPA3-SAE 身份验证流连接初始化SAE 连接通过 OID_WDI_TASK_CONNECT 或 OID_WDI_TASK_ROAM启动。 当驱动程序需要执行 SAE 身份验证时WDI 将 WDI_AUTH_ALGO_WPA3_SAE 指定为身份验证方法。 如果 WDI 在 Connect/Roam 任务中的 BSS 列表中提供 PMKID则驱动程序将跳过 SAE 身份验证并改为执行开放式身份验证然后是与 PMKID 的重新关联请求。身份验证流SAE 参数的初始请求驱动程序首先选择要连接到或漫游的 BSS如果 WDI 未为该 BSS 提供 PMKID驱动程序会使用 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED 从 WDI 请求提交参数。 在此初始指示中驱动程序将指示类型设置为 WDI_SAE_INDICATION_TYPE_COMMIT_REQUEST_PARAMS_NEEDED。 作为响应WDI 使用以下选项之一将 OID_WDI_SET_SAE_AUTH_PARAMS 发送到驱动程序。发送提交请求WDI_SAE_REQUEST_TYPE_COMMIT_PARAMSSAE 身份验证失败WDI_SAE_REQUEST_TYPE_FAILURE收到提交响应后当收到 Commit 响应时驱动程序会发送 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED并将类型设置为 WDI_SAE_INDICATION_TYPE_COMMIT_FRAME。 作为响应WDI 使用以下请求之一发送 OID_WDI_SET_SAE_AUTH_PARAMS 发送提交请求WDI_SAE_REQUEST_TYPE_COMMIT_PARAMS发送确认请求WDI_SAE_REQUEST_TYPE_CONFIRM_PARAMSSAE 身份验证失败WDI_SAE_REQUEST_TYPE_FAILURE收到确认响应后收到“确认”响应时驱动程序会发送 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED并将类型设置为 WDI_SAE_INDICATION_TYPE_CONFIRM_FRAME。 然后WDI 发送 OID_WDI_SET_SAE_AUTH_PARAMS将 SAE 状态字段设置为成功或失败。 如果 SAE 身份验证因超时或其他原因在驱动程序中失败驱动程序会发送 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED 指示该指示的类型设置为 WDI_SAE_INDICATION_TYPE_ERROR并在 WDI_TLV_SAE_STATUS中指定的失败原因。超时和重新传输这些由驱动程序处理。WPA3-SAE 关联设备使用以下选项之一连接到 SAE 网络。SAE交换后的重新关联这通常是 SAE 网络的第一次连接尝试。 驱动程序在关联请求帧的 RSN IE 中设置 SAE AKM。重新使用 PMKID 进行关联如果 WDI 为连接/漫游任务中的 BSS 条目提供了 PMKID驱动程序将执行以下操作驱动程序执行 Open 身份验证随后在 Re 关联请求中包含 PMKID。如果设备在短时间内未收到来自 AP 的响应或者 AP 在响应中返回关联错误驱动程序会跳过此 AP 的 SE 身份验证然后移动到另一个 AP或回退到使用此 AP 执行完整的 SAE 身份验证。SAE 身份验证/关联完成后SAE 连接才完成。 与之前一样驱动程序发送以下有关连接或漫游任务结论的指示NDIS_STATUS_WDI_INDICATION_ASSOCIATION_RESULTNDIS_STATUS_WDI_INDICATION_CONNECT_COMPLETE错误处理重新发送 SAE 提交请求帧如果驱动程序因超时而需要重新发送提交帧则可以选择重新发送 WDI 提供的原始标量/元素值或者通过 NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED 指示从 WDI 请求一组新的标量/元素值。重新发送 SAE 确认响应帧如果驱动程序因超时而需要重新发送 Confirm 帧则应使用NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED指示从 WDI 请求一组新的 SendConfirm 和 Confirm 值并将类型设置为WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST。

相关新闻

windows网络适配器驱动开发-WiFiCx 消息结构

windows网络适配器驱动开发-WiFiCx 消息结构

WiFiCx 命令消息基于以前的 WDI 模型命令。All Wi-Fi command messages must start with a WDI_MESSAGE_HEADER structure. 命令标头后跟零个或多个类型长度值 (TLV) 结构。为从主机发送到 Wi-Fi 设备的消息定义的命令消息 ID 记录在 WiFiCx 任务 OID、 …

2026/9/26 1:07:29 阅读更多 →
PaddleOCR ONNX 部署:小模型字段提取如何设计可复核流程

PaddleOCR ONNX 部署:小模型字段提取如何设计可复核流程

把 PaddleOCR 模型转换成 ONNX,生成模型文件只是第一步。接下来的问题往往更贴近 实际任务:转换后的输入预处理是否一致,输出如何还原成文字与位置,原来能取到的编号、 日期、金额等字段是否还在同一列,异常值能不能回…

2026/9/29 4:08:56 阅读更多 →
Windows API中GetDlgItem函数详解与应用实践

Windows API中GetDlgItem函数详解与应用实践

1. GetDlgItem函数基础解析 1.1 函数定义与参数说明 GetDlgItem是Windows API中用于对话框编程的核心函数之一,定义在winuser.h头文件中。其标准声明如下: HWND GetDlgItem(HWND hDlg,int nIDDlgItem );这个看似简单的函数实际上承载着Windows对话框…

2026/9/24 21:37:11 阅读更多 →

最新新闻

Python基础语法一站式指南:从环境搭建到项目实战

Python基础语法一站式指南:从环境搭建到项目实战

很多朋友学Python时,最大的障碍其实不是"某个语法不会",而是知识点太碎,学完列表学字典,学完函数学文件,一到自己写项目就全乱套。我这些年用Python写自动化脚本、做数据分析、折腾小爬虫,最大的体会是:基础语法必须串成一条线来学。这篇指南我打算从装环境一路写到函…

2026/10/11 0:33:54 阅读更多 →
基于MPC的混合储能微电网双层能量管理:Matlab仿真与实现

基于MPC的混合储能微电网双层能量管理:Matlab仿真与实现

1. 整体设计与思路拆解:为什么混合储能微电网需要“双层”和“MPC”先聊一个经常被问到的问题:既然已经有能量管理系统(EMS)了,为什么还要搞“双层”?又为什么要专门上模型预测控制(MPC&#xf…

2026/10/11 0:33:54 阅读更多 →
苍蝇检测数据集:VOC+YOLO双格式530张,导入即可训练

苍蝇检测数据集:VOC+YOLO双格式530张,导入即可训练

简介:一套面向目标检测任务的苍蝇检测数据集,主要服务于计算机视觉方向的初学者、算法工程师以及农业害虫识别等实际项目。全部图像来自百度图片爬取,并经过删除重复筛选,再由labelImg工具人工绘制矩形框完成标注,标注…

2026/10/11 0:32:54 阅读更多 →
毕业设计水果识别实战:从数据采集到微信小程序部署

毕业设计水果识别实战:从数据采集到微信小程序部署

简介:本资源是一套完整的基于深度学习的水果识别系统毕业设计项目,面向计算机、人工智能及相关专业本科生,专为大作业与毕业设计实践打造,解决图像分类场景下的模型构建、训练与部署全流程问题。压缩包共277个文件,总大…

2026/10/11 0:32:54 阅读更多 →
DeepLabv3+实战:VOC与Cityscapes上完整训练与推理指南

DeepLabv3+实战:VOC与Cityscapes上完整训练与推理指南

简介:一套基于Pytorch在VOC与Cityscapes数据集上实现DeepLabv3训练的图像分割实战项目,面向有初步深度学习基础的读者,帮助系统掌握语义分割模型训练的整体流程。包内共55个文件,以23个Python脚本为主干,覆盖数据加载、…

2026/10/11 0:32:54 阅读更多 →
基于NeRF和手机拍摄物体图片的三维重建Python源码+数据集+文档说明

基于NeRF和手机拍摄物体图片的三维重建Python源码+数据集+文档说明

简介:这份资源面向计算机视觉与三维重建方向的学习者,尤其是需要完成课程设计或毕业设计的高年级本科生与研究生,提供一套基于NeRF、利用手机拍摄物体图片即可完成三维重建的完整Python实现方案。压缩包共31个文件,约5.37MB&#…

2026/10/11 0:32:54 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →