原始问题的背景
为了避免XY问题,让我解释一下我要做什么。
为了能够计算2FA的TOTP令牌(例如Google Authenticator应用程序所做的那样),你需要一个实时时钟来获取日期和时间。
有一个名为SC4-HSM的USB设备,我想使用它来计算令牌,但是它没有时钟,并且根据设计师的说法,添加一个会太昂贵了(需要电池等)。
原始问题的可能解决方案
这个设备将与已经具有RTC的计算机一起使用。因此,我想到了查询系统日期/时间的想法。
(注意:我知道USB设备可以连接到各种主机,并且不是所有主机都会有RTC,但由于这只需要与计算机配合使用,所以我认为这不应该是个问题)
我的第一个想法是,可能有一些USB设备类需要日期/时间,因此我可以将设备注册为该类型,然后就可以查询这些值了。
浏览了 设备类代码列表(互联网档案馆)后,没有任何需要日期/时间的内容引起我的注意。 我能想到的最接近的是:
我浏览了USB实现者论坛的设备类文档,但里面没有任何与日期或时间相关的内容。
当前问题
由于USB规范似乎是个死路,我想也许有一种方法可以编写一个非常简单的USB驱动程序,当设备插入计算机时,它可以自动加载该驱动程序,然后我们可以使用该驱动程序在设备请求时返回日期/时间(除非我误解了什么)。
我现在正在查阅USB开发文档,例如Michael Opdenacker的Linux USB驱动程序课程,我尝试了Linux USB项目,但它似乎已经停止更新。我略读了Windows NT驱动程序开发,只是为了获得一个思路,但我仍然无法弄清楚这是否可行,以及有多难。
我完全是个新手,也许这超出了我的能力水平,但我想找出是否需要奇怪的黑科技或解决方法,还是有更为直接的方法来解决问题?
似乎很少有关于这个问题的信息,或者我只是在搜索错误的地方。
对于解决原始问题或当前问题,有任何想法或指针吗?