首先,我是OpenSSL世界的初学者。我提前为任何基本的,野蛮的错误道歉。
考虑一个流程:
如何检查所调用的函数是否在硬件上执行?
如何验证是否调用了EngineHW功能?如果EngineHW没有定义该功能怎么办 - OpenSSL将回退到它拥有的任何默认引擎吗?
这个问题与断言质量有关 - 因为我有硬件为我做加密,我认为使用软件进行回归(至少对于重要的功能)。
答案 0 :(得分:1)
不确定这是什么目的。您是在测试OpenSSL是否正常工作,或者您是否在测试自己的代码? 您似乎想要对OpenSSL和HSM进行回归测试吗?
但是,如果要测试X509_sign是否有效,则从测试系统中删除所有基于软件/磁盘的密钥,并检查是否可以签名。如果您获得有效签名,则可以确定它来自您的HSM。如果你得到null,那就不是。 OpenSSL不会回退到不同的签名功能,即使它已经执行,它也无法签名,因为它需要一个密钥才能签名。 希望能回答你的问题。