15

首先,我是 OpenSSL 世界的初学者。对于任何基本的野蛮错误,我提前道歉。

考虑一个流程:

  1. 使用硬件使用引擎初始化 OpenSSL(我们称之为 EngineHW)。
  2. 调用 OpenSSL 函数,例如 X509_sign。

如何检查调用的函数是否在硬件上执行?

如何验证 EngineHW 函数是否被调用?如果 EngineHW 未定义该函数怎么办 - OpenSSL 会回退到它拥有的任何默认引擎吗?

问题与断言质量有关——因为我有硬件为我做加密,我考虑使用软件回归(至少对于重要功能)。

4

1 回答 1

1

不知道这样做的目的是什么。您是在测试 OpenSSL 是否有效,还是在测试您自己的代码?您似乎想对 OpenSSL 和 HSM 进行回归测试?

但是,如果您想测试 X509_sign 是否有效,请从测试系统中删除所有基于软件/磁盘的密钥,并检查您是否可以签名。如果您获得有效的签名,则可以确定它来自您的 HSM。如果你得到 null 回来,它不是。OpenSSL 不会回退到不同的签名函数,即使这样做了,它也无法签名,因为它需要一个密钥来签名。希望能回答你的问题。

于 2015-09-30T07:30:32.693 回答