Целую неделю я искал, как зашифровать сообщения с помощью PKCS # 7 (стандарт rfc5652) на iOS.
Я пытаюсь реализовать шифрование CMS с помощью openSSL .Я нашел документацию openSSL , в которой показан пример использования метода CMS_sign () .
https://github.com/openssl/openssl/blob/master/demos/cms/cms_sign.c
Проблема в том, что файл результатов (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 напрямую не выполняет шифрование CMS.Единственный вариант, который я узнал, это использовать метод CMS_sign () в openSSL фреймворке, но он не работает хорошо.
Подскажите, пожалуйста, какреализовать это шифрование?Или, пожалуйста, посоветуйте мне несколько альтернатив.