c - 在没有额外库的情况下解析 C 中的 PEM key

标签 c rsa pem

我需要从以 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/

相关文章:

无法将参数 2 从 'const char [14]' 转换为 'LPCWSTR'

C - 为什么减去单个字符会留下空白?

Java 相当于 'openssl rsautl -verify -out'

python - PyJWT,需要 PEM 格式的 key

javascript - 如何将 RSA PlblicKey XML 转换为 PEM 格式

c - 如何使用 fgets()/sscanf() 从终端解析三个逗号分隔的字符串

c - 如何将文件(IN C)中的每一行保存在变量中? :)

macos - 没有主目录的用户的 SSH 公钥

java - php中的RSA加密到JAva中的RSA解密

ssl - .pem 和 .cer 可以互换吗?