我有基于C的应用程序,它们是用openssl smime签名的。
我希望使用OpenSSL以编程方式使用C来验证这些s / mime签名。我花了很多时间搜索类似的场景,但没有得到相关的页面。
我已下载(openssl-1.0.2a)并在linux env上编译。我已经将编译的静态库集成到我的项目中。
请让我知道如何继续进行签名验证或者请指导我需要调用哪个API来验证s / mime签名。
答案 0 :(得分:1)
如果您已经从源代码编译OpenSSL,则意味着您可以查看:<your-openssl-source-dir>/demos/smime
,其中显示了如何使用PKCS7_*
系列函数,但我认为更有用会查看CMS_*
系列,请参阅:<your-openssl-source-dir>/demos/cms
。这些例子可能比你需要的要多得多。
答案 1 :(得分:1)
现在我可以使用openssl PKCS7_verify API来验证smime签名。
int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, int flags);
可在此处找到更多详细信息:https://www.openssl.org/docs/crypto/PKCS7_verify.html