社区
硬件/系统
帖子详情
怎么用CryptoAPI检测一个USB KEY的句柄还是否有效?
Tommy
2006-04-13 05:25:03
我们在应用中,用USB KEY进行SSL通信,但是希望在用户拔出USB KEY的时候可以检测到,从而停止工作。不知有什么方法可以做到这点?
...全文
597
5
打赏
收藏
怎么用CryptoAPI检测一个USB KEY的句柄还是否有效?
我们在应用中,用USB KEY进行SSL通信,但是希望在用户拔出USB KEY的时候可以检测到,从而停止工作。不知有什么方法可以做到这点?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Tommy
2006-05-12
打赏
举报
回复
DBT_DEVNODES_CHANGED和找到证书之间确实有延迟。我估计DBT_DEVNODES_CHANGED只是指硬件层就绪了,CryptAPI应该也是在收到这个信号后才去看有没有新的证书,所以在收到DBT_DEVNODES_CHANGED消息时证书还没有就绪。
ycxw
2006-04-24
打赏
举报
回复
我也没有找到好办法,但你可以这么做
检测到DBT_DEVNODES_CHANGED消息,你调用CryptAquireContext,看看能不能成功,能成功,就是插入,否则就是拔除了
至于延时问题,只有当设备完全准备好了,之后,才会产生DBT_DEVNODES_CHANGED消息,我觉得是这样的
Tommy
2006-04-17
打赏
举报
回复
谢谢MSDN3000(八门金锁)。
不过要这样做的话,就要找出所用的CryptoAPI的证书与物理设备的对应关系,这恐怕不太好找。
最好是直接用一个CryptoAPI调用来判断EKey还是否可用。换个说法吧,就是想看看一个CryptoAPI的句柄还是否有效。
Tommy
2006-04-17
打赏
举报
回复
而且这样做也有问题,我用明华的Key试了一下,插入后收到WM_DEVICECHANGE消息时在系统中还找不到对应的证书,可能有个延后的时间。
另外,我收不到DBT_DEVICEARRIVAL和DBT_DEVICEREMOVECOMPLETE两种消息,只有DBT_DEVNODES_CHANGED消息
MSDN3000
2006-04-15
打赏
举报
回复
转一篇文章,希望有所帮助:
USB设备插入与拔出的响应
2005.11.18
有时候,我们需要检测到USB设备的插入与拔出事件,比如,一个有加密锁的程序,当加密锁拔出时,程序应当给出相应提示,并可能采取退出程序的举措。要达到这个目的,我们可以通过响应WM_DEVICECHANGE消息来达到这个目的,而WPARAM则可以告诉我们USB设备是插入还是拔出的。如果WPARAM为DBT_DEVICEARRIVAL则是插入事件,如果为DBT_DEVICEREMOVECOMPLETE则为删除事件。这两个宏义于头文件Dbt.h中。以下以VC为例做成例子。
1. 在相关cpp文件中加入头文包含:
#include
2. 在相应类中添加函数:
LRESULT CtestUsbChangeDlg::OnDeviceChange(WPARAM wParam, LPARAM lParam)
{
switch(wParam)
{
case DBT_DEVICEARRIVAL: //插入
MessageBox("设备插入!");
break;
case DBT_DEVICEREMOVECOMPLETE: //删除
MessageBox("设备删除!");
break;
}
return LRESULT();
}
3. 添加消息映射:
BEGIN_MESSAGE_MAP(CTestUsbChangeDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_MESSAGE(WM_DEVICECHANGE, OnDeviceChange)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
至此,程序已经可以检测USB设备的插入与拨出操作了。事实上,WM_DEVICECHANGE不只支持USB设备的插入与拔出,其它支持热插拔的设备也应支持,不过,因条件所限,只能测试USB设备的情况。
PKCS# 11和CSP概念技术对比
本文针对PKCS# 11和CSP进行学习,以及基于CSP的
USB
Key
密码符合性
检测
平台的模块设计。 开发商按照标准开发 CSP,就可以把自己开发的软件或硬件密码模块无缝连接到
CryptoAPI
的体系中。 CSP: CSP的开发目的在于开发符合CryptoSPI要求的接口函数,并且把硬件实现或者软件实现的密码运算功能按照
CryptoAPI
所能够识别和使用的方式进行封装。
汉口银行U盾64位驱动安装工具(带密码重置与设备识别)
专为汉口银行
USB
Key
用户准备的64位Windows驱动安装程序,适用于Win7/Win10/Win11系统,解决U盾插上无反应、设备管理器显示异常、网银登录失败等问题。运行HKB_U
KEY
_Admin_X64_V1.0.0.exe即可启动安装,需先插入U盾再执行安装流程,全程点击‘安装’按钮完成,无需手动配置或修改系统设置。安装后支持查看U盾状态、修改PIN码(即U盾密码)、
检测
设备
是否
被正确识别,所有功能通过图形化界面操作。配套的说明.htm文件提供分步截图指引,方便新手快速上手。注意:仅适配汉口银
2022-10微软漏洞通告
微软官方发布了2022年10月的安全更新。本月更新公布了96个漏洞,包含39个特权提升漏洞、20个远程执行代码漏洞、11个信息泄露漏洞、8个拒绝服务漏洞、5个身份假冒漏洞以及2个安全功能绕过漏洞,其中13个漏洞级别为“Critical”(高危),71个为“Important”(严重)。建议用户及时使用火绒安全软件(个人/企业)【漏洞修复】功能更新补丁。
从LaZagne工具解析Chromium浏览器密码存储与防御策略
在信息安全领域,密码存储与保护是基础且关键的技术环节。其核心原理在于通过加密算法将敏感凭证转化为不可读的密文,确保即使数据被窃取也无法直接使用。从技术价值看,这不仅保障了用户隐私,也为各类应用提供了安全的身份验证基础。常见的应用场景包括操作系统登录、应用程序授权以及网络服务访问等。本文聚焦于Chromium内核浏览器的密码管理机制,深入剖析其如何利用DPAPI和AES-GCM等加密技术实现本地密码的安全存储。通过解读LaZagne这一开源工具的解密流程,揭示了在获得系统权限后,攻击者如何利用合法API提取凭
Proteus 8.17安装失败根源与稳定激活方案
Proteus是一款广泛用于电子电路仿真与嵌入式系统教学的EDA工具,其核心依赖授权服务、元件库管理器与设计核心库的协同运行。由于采用基于Machine SID、BIOS序列号和磁盘卷ID的三元组证书绑定机制,系统克隆、硬件变更或Windows更新极易导致‘Invalid activation context’等授权失效问题。同时,Windows Defender实时防护、SmartScreen拦截、UAC权限策略及Program Files写入限制,共同构成安装脆弱性的底层原因。本文聚焦Proteus 8
硬件/系统
2,644
社区成员
17,229
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章