【发布时间】:2013-12-19 08:56:52
【问题描述】:
我需要从以 PEM 格式给出的 RSA 私钥中提取模数、私有指数、公共指数、素数等。这是一个嵌入式系统,我不能在目标系统上安装任何加密或 RSA 库,所以一切都应该在本机 C 中完成。任何指向现有代码的指针或如何有效完成的提示将不胜感激。
【问题讨论】:
我需要从以 PEM 格式给出的 RSA 私钥中提取模数、私有指数、公共指数、素数等。这是一个嵌入式系统,我不能在目标系统上安装任何加密或 RSA 库,所以一切都应该在本机 C 中完成。任何指向现有代码的指针或如何有效完成的提示将不胜感激。
【问题讨论】:
PEM 文件包含 der 编码的 base64 格式的 RSA 私钥。
首先,您必须对其进行 base64 解码以获得原始的 der 编码字节。然后你必须解析 der 编码的数据。
正如Lie Ryan 所建议的,您可以静态链接一些C 库来执行此操作。或者您可以参考现有库的源代码并编写自己的解析器来执行此操作。
对于轻量级库,我建议您查看libtomcrypto's der routines,以防您要编写自己的解析器。
同一个库还包含base64 encoding and decoding 的函数。
【讨论】:
如果您不能或不想将库安装到目标系统中,那么您可以在编译时静态链接库。
静态链接库将库的代码打包到主可执行文件中。
【讨论】: