在没有额外库的情况下在C中解析PEM密钥

时间:2013-12-19 08:56:52

标签: c rsa pem

我需要从PEM格式中给出的RSA私钥中提取模数,私有指数,公共指数,素数等。这是一个嵌入式系统,我无法在目标系统上安装任何加密或RSA库,所以一切都应该在本机C中完成。任何指向现有代码的指针或提示如何有效地完成这项工作将不胜感激。

2 个答案:

答案 0 :(得分:2)

如果您不能或不想将库安装到目标系统中,那么您可以在编译时静态链接库。

静态链接库将库中的代码包装在主可执行文件中。

答案 1 :(得分:2)

PEM文件包含base64格式的编码RSA私钥。

首先,您必须对其进行base64解码才能获得原始的编码字节。然后你必须解析编码数据。

根据Lie Ryan的建议,您可以静态链接某些C库来执行此操作。或者您可以参考现有库的源代码并编写自己的解析器来执行此操作。

对于轻量级库,我建议您查看libtomcrypto's der routines,以防您要编写自己的解析器。

同一个库还包含base64 encoding and decoding的函数。