使用非对称密钥进行大文件加密/解密的C程序

时间:2015-01-20 14:26:22

标签: c++ c openssl embedded embedded-linux

我遇到了这个问题,我需要在OpenSSL的帮助下使用非对称密钥对大文件(> 5MB)进行加密解密。

以下是我的要求的简要说明: -

  1. 我有一台运行Linux的设备。
  2. 设备可以从服务器下载固件映像/补丁。
  3. 服务器中的图像/补丁将使用已经共享的公钥加密。
  4. 下载图像后,设备需要通过使用私钥解密来验证其真实性。
  5. 目标设备将使用构建并安装在其上的OpenSSL库进行解密。
  6. 与此同时,目标设备需要验证下载的固件映像/补丁的签名。
  7. 我在互联网上找到了许多不同的方法。对我来说最吸引人的方法是使用OpenSSL S/MIME encrypt/decrypt。但我没有找到合适的库/工具来使用C编程语言。我发现的所有示例主要是使用控制台应用程序。

    有一些示例C程序,但那些没有使用非对称密钥进行加密和解密;他们使用随机的128位密钥和IV代替。

    有人可以通过提供一些例子来帮助我。

1 个答案:

答案 0 :(得分:1)

不要忘记OpenSSL是开源的。如果你想查看“openssl smime”命令的源代码,你需要查看openssl源代码中的apps/smime.c文件。