Когда я пытаюсь расшифровать зашифрованное S / MIME-сообщение, используя CMS в OpenSSL, метод decrypt возвращает мне 0, что означает «не удалось».
OpenSSL.org сообщает ..
CMS_decrypt () возвращает 1 в случае успеха или 0 в случае ошибки.Ошибка может быть получена из ERR_get_error (3)
Когда я запускаю это ...
out = BIO_new(BIO_s_mem());
if (!out)
assert(false);
int error = CMS_decrypt(cms, rkey, rcert, out, NULL, 0);
if (!error) {
fprintf(stderr, "Error Decrypting Data\n");
printf("error code: %d\n", ERR_get_error());
ERR_print_errors_fp(stderr);
assert(false);
}
... переменная ошибки равна 0, что означает, что произошла ошибка, икод ошибки от ERR_get_error()
также равен 0. Кроме того, ERR_print_errors_fp()
ничего не печатает, что означает, что ошибки не было.
Вывод вышеуказанного кода:
Error Decrypting Data
error code: 0
Assertion failed: (false)
Кто-нибудьесть предложение, что здесь происходит не так?Спасибо