如何为我的插件实现自定义数字签名?
|
在一个C ++应用程序中(实际上是一个浏览器插件,但这不太相关),我需要它能够运行外部进程,这些进程通过IPC公开特定的接口。有点像插件架构,但是插件是离散的应用程序,而不是DLL等。
有人可以轻松找到所需的接口并编写一个恶意的“插件”,将其托管在他们的网站上,与恶意的SWF相当,只是SWF被沙盒化了。然后,如果安装了浏览器插件的人访问了该页面,它将以一种偷渡式攻击来加载和运行恶意进程。
我看到的一个建议是使用签名机制,但是我不知道如何实现。请注意,我不是为大众市场创建产品而是为专家使用,因此生产合法插件的公司数量很少。
没有找到相关结果
已邀请:
2 个回复
哭木算
来自OpenSSL软件包。您需要将其(至少是验证部分)调整为适合您的插件。有很多API需要学习!您可以按原样使用“ 2”对文件进行签名。 如果您使用的是Windows,则也可以以几乎相同的方式使用Windows加密API(CAPI),但我几乎不了解Windows API。 另一种方法是从头开始实现签名算法。这也不是为了胆小者。阅读http://en.wikipedia.org/wiki/Digital_signature,选择一种看起来易于实现的方法(RSA,DSA,ElGamal ...),然后加以实现(包括签名和验证部分,或者仅仅是验证部分-但请确保它与OpenSSL或GPG兼容,以便可以使用它们进行签名。
赐黄