c/c++语言开发共享来自openssl的CMS加密/解密损坏

所以我导航到openssl的demos文件夹中

/usr/share/doc/libssl-doc/demos/cms 

我在那里编译了测试文件

 gcc cms_enc.c -o enc -lssl -lcrypto gcc cms_dec.c -o dec -lssl -lcrypto 

然后我首先开始他们两个./enc然后./dec。 不幸的是发生了以下错误

 140502142240416:error:0200B009:system library:fread:Bad file descriptor:bss_file.c:245: 140502142240416:error:20082002:BIO routines:FILE_READ:system lib:bss_file.c:246: 140502142240416:error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:evp_enc.c:532: 

那么这意味着openSSL中的CMS实现已经被打破了? 我想将这个function用于我自己的c ++程序,但它失败了所以我想试试即使这些例子都有效。

     I compiled the test files there: gcc cms_enc.c -o enc -lssl -lcrypto gcc cms_dec.c -o dec -lssl -lcrypto ... 140502142240416:error:0200B009:system library:fread:Bad file descriptor:bss_file.c:245: 

    cms_dec.c有一个拼写错误。 向下滚动到第50行,然后将outNULL交换。 交换后,它应该看起来像:

     /* Decrypt S/MIME message */ if (!CMS_decrypt(cms, rkey, rcert, NULL, out, 0)) goto err; 

    然后重新编译cms_dec.c 。 在下一次运行之后,应该没有错误,并且decout.txt应该符合预期(与encr.txt相同)。

      以上就是c/c++开发分享来自openssl的CMS加密/解密损坏相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(计算机技术网)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ctvol.com/c-cdevelopment/522875.html

      (0)
      上一篇 2020年12月11日
      下一篇 2020年12月11日

      精彩推荐