使用C代码验证OpenSSL s / mime签名

时间:2015-06-02 04:17:40

标签: c openssl

我有基于C的应用程序,它们是用openssl smime签名的。

我希望使用OpenSSL以编程方式使用C来验证这些s / mime签名。我花了很多时间搜索类似的场景,但没有得到相关的页面。

我已下载(openssl-1.0.2a)并在linux env上编译。我已经将编译的静态库集成到我的项目中。

请让我知道如何继续进行签名验证或者请指导我需要调用哪个API来验证s / mime签名。

2 个答案:

答案 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