我需要从以 PEM 格式给出的 RSA 私钥中提取模数、私有(private)指数、公共(public)指数、素数等。这是针对我无法在目标系统上安装任何加密或 RSA 库的嵌入式系统,因此一切都应该在 native C 中完成。任何指向现有代码的指针或如何有效完成此操作的提示都将不胜感激。
最佳答案
PEM 文件包含 der 编码的 base64 格式的 RSA 私钥。
首先,您必须对其进行 base64 解码以获得原始的 der 编码字节。然后你必须解析der编码的数据。
根据 Lie Ryan 的建议,您可以静态链接一些 C 库来执行此操作。或者您可以引用现有库的源代码并编写自己的解析器来执行此操作。
对于轻量级库,我建议查看 libtomcrypto's der routines如果您要编写自己的解析器。
同一个库还包含 base64 encoding and decoding 的函数.
关于c - 在没有额外库的情况下解析 C 中的 PEM key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677169/