Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从USB设备读取证书并将其发送到firefox等浏览器 我想写一个C++ DLL,它从我的USB设备读取证书并把它发送给像Firefox这样的浏览器。我应该提到我用一个2K EEPROM的ATMEGA32 A来构建我的USB设备,我在上面存储了一个样例证书。 我读过一些关于PKCS#11标准的文章,但我不知道从哪里开始。有人能帮我吗?_C++_Firefox_Dll_Certificate_Pkcs#11 - Fatal编程技术网

如何从USB设备读取证书并将其发送到firefox等浏览器 我想写一个C++ DLL,它从我的USB设备读取证书并把它发送给像Firefox这样的浏览器。我应该提到我用一个2K EEPROM的ATMEGA32 A来构建我的USB设备,我在上面存储了一个样例证书。 我读过一些关于PKCS#11标准的文章,但我不知道从哪里开始。有人能帮我吗?

如何从USB设备读取证书并将其发送到firefox等浏览器 我想写一个C++ DLL,它从我的USB设备读取证书并把它发送给像Firefox这样的浏览器。我应该提到我用一个2K EEPROM的ATMEGA32 A来构建我的USB设备,我在上面存储了一个样例证书。 我读过一些关于PKCS#11标准的文章,但我不知道从哪里开始。有人能帮我吗?,c++,firefox,dll,certificate,pkcs#11,C++,Firefox,Dll,Certificate,Pkcs#11,步骤1:编写一个可以从USB设备读取数据的dll。你可以使用Winusb。这将需要固件来支持它 第2步:编写一个dll,可以向Firefox添加证书 步骤3:将以前的步骤合并到一个dll中 如果您在某些特定问题上遇到困难,请写一个新问题,并向我们展示您迄今为止所做的工作。步骤1:编写一个可以从USB设备读取数据的dll。你可以使用Winusb。这将需要固件来支持它 第2步:编写一个dll,可以向Firefox添加证书 步骤3:将以前的步骤合并到一个dll中 如果您在某个特定的问题上遇到困难,请写

步骤1:编写一个可以从USB设备读取数据的dll。你可以使用Winusb。这将需要固件来支持它

第2步:编写一个dll,可以向Firefox添加证书

步骤3:将以前的步骤合并到一个dll中


如果您在某些特定问题上遇到困难,请写一个新问题,并向我们展示您迄今为止所做的工作。

步骤1:编写一个可以从USB设备读取数据的dll。你可以使用Winusb。这将需要固件来支持它

第2步:编写一个dll,可以向Firefox添加证书

步骤3:将以前的步骤合并到一个dll中


如果您在某个特定的问题上遇到困难,请写一个新问题,并向我们展示您迄今为止所做的工作。

听起来您正在创建一个PKI硬件设备。我认为你最大的障碍将是访问ATMega32。这将取决于您在ATMega端实现一个接口,可以是RS232 usb网桥、usb大容量存储,也可以是带有自定义驱动程序的专有接口

一个简单的解决方案可能是使用USB大容量存储接口将证书作为文件显示在伪磁盘上

Firefox(和其他Mozilla产品)采用自定义驱动程序路径,使用具有PKI硬件接口的库。见和。
据猜测,可能有一个适用于Windows的PKI/PKCS11驱动程序API可以实现

听起来像是在创建PKI硬件设备。我认为你最大的障碍将是访问ATMega32。这将取决于您在ATMega端实现一个接口,可以是RS232 usb网桥、usb大容量存储,也可以是带有自定义驱动程序的专有接口

一个简单的解决方案可能是使用USB大容量存储接口将证书作为文件显示在伪磁盘上

Firefox(和其他Mozilla产品)采用自定义驱动程序路径,使用具有PKI硬件接口的库。见和。
据猜测,可能有一个适用于Windows的PKI/PKCS11驱动程序API可以实现

您不能“添加到Firefox”,但可以将数据公开给Firefox并使其可用。为此,您需要实现PKCS#11 API并创建所谓的PKCS#11驱动程序(实现PKCS#11 API中定义的70多个函数的用户模式DLL)。这些功能将与硬件设备通信以执行某些操作。然后将此PKCS#11 DLL插入Firefox,Firefox可以在您的设备上使用证书

您不能“添加到Firefox”,但可以将数据公开给Firefox并使其可用。为此,您需要实现PKCS#11 API并创建所谓的PKCS#11驱动程序(实现PKCS#11 API中定义的70多个函数的用户模式DLL)。这些功能将与硬件设备通信以执行某些操作。然后将此PKCS#11 DLL插入Firefox,Firefox可以在您的设备上使用证书

是,我想创建一个示例令牌。我对atmega32进行了编程,我可以发送参数,并在终端(通过Bray)之类的程序中从中获得答案。我认为NSS将与C#、java和。。。但是我想用C++编写DLL。我使用了OpenSC,但它没有检测到我的usb设备作为令牌。有什么解决方案可以与OpenSC通信吗?@osyan我看到OpenSC支持一系列硬件。您已经实现了一个RS232接口。这与支持的硬件有什么关系?是的,我想创建一个示例令牌。我对atmega32进行了编程,我可以发送参数,并在终端(通过Bray)之类的程序中从中获得答案。我认为NSS将与C#、java和。。。但是我想用C++编写DLL。我使用了OpenSC,但它没有检测到我的usb设备作为令牌。有什么解决方案可以与OpenSC通信吗?@osyan我看到OpenSC支持一系列硬件。您已经实现了一个RS232接口。这与支持的硬件有什么关系?谢谢Eugene。现在我想你的答案帮助我找到答案。你的意思是我必须把所有的函数指针都堆到CK_function_列表中,就像它在中说的那样?我在令牌上创建的函数是否必须遵循特定的模式?您实现了一组接口。也就是说,您从PKCS#11标准(所有大约70个函数)中获取所有函数声明,并创建那些必须完全按照规范中描述的行为的精确函数。所有函数都从DLL导出。您不需要用指针填充任何列表-您只需将这些函数声明为可导出函数,并在DLL中检查它们是否按名称导出且未混合。这是本主题的最后一个问题。在我的令牌EEPROM上存储pub/pri密钥和证书怎么样。除了使EEPROM只读之外,还有什么重要的安全问题需要我担心吗?好吧,这是一个完全不同的问题,你需要问一个关于StackOverflow(或者关于)的新问题。谢谢Eugene。现在我想你的答案帮助我找到答案。你的意思是我必须把所有的函数指针都堆到CK_function_列表中,就像它在中说的那样?我在令牌上创建的函数是否必须遵循特定的模式?您实现了一组接口。也就是说,您从PKCS#11标准(所有大约70个函数)中获取所有函数声明,并创建那些必须完全按照规范中描述的行为的精确函数。所有函数都从DLL导出。您不需要用指针填充任何列表-您只需声明这些函数为可导出的,并在DLL中检查它们是按名称导出的,并未合并。以及此主题的最后一个问题。s呢