我一直在寻找整整一周的时间,如何在iOS上使用PKCS#7(rfc5652标准)对消息进行加密。
我试图通过 openSSL 实现CMS加密。我找到了 openSSL 文档,该文档显示了如何使用 CMS_sign()方法的示例。
问题是,结果文件(smout.txt)始终为空。这是将加密数据写入文件的代码的一部分:
/* Sign content */
cms = CMS_sign(scert, skey, NULL, in, flags);
if (!cms)
goto err;
out = BIO_new_file("smout.txt", "w");
if (!out)
goto err;
if (!(flags & CMS_STREAM))
BIO_reset(in);
/* Write out S/MIME message */
if (!SMIME_write_CMS(out, cms, in, flags))
goto err;
我还研究了其他替代方案,例如 SwiftCrypto 或 SwiftyRSA ,但是它们都不实现CMS加密。在官方的Apple论坛上,我读到Apple并没有直接实现CMS加密。我了解到的唯一选择是在 openSSL 框架中使用 CMS_sign()方法,但效果不佳。
请您告诉我如何实施此加密? 或者,请告诉我一些替代方法。