OpenSSL - 检查哪个引擎是一个被调用的函数,以及硬件是否真正使用过?

时间:2014-09-08 15:41:30

标签: cryptography openssl hsm

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

考虑一个流程:

  1. 使用硬件初始化OpenSSL引擎(让我们称之为EngineHW)。
  2. 调用OpenSSL函数,例如X509_sign。
  3. 如何检查所调用的函数是否在硬件上执行?

    如何验证是否调用了EngineHW功能?如果EngineHW没有定义该功能怎么办 - OpenSSL将回退到它拥有的任何默认引擎吗?

    这个问题与断言质量有关 - 因为我有硬件为我做加密,我认为使用软件进行回归(至少对于重要的功能)。

1 个答案:

答案 0 :(得分:1)

不确定这是什么目的。您是在测试OpenSSL是否正常工作,或者您是否在测试自己的代码? 您似乎想要对OpenSSL和HSM进行回归测试吗?

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