繁体   English   中英

如何使用 libtomcrypt 导入 RSA 公钥?

[英]How do I use libtomcrypt to import an RSA public key?

我正在尝试使用 libtomcrypt 进行 RSA-2048 位加密。 我目前的目标是从文件中导入公钥。 此文件是使用 OpenSSL 和以下命令生成的:

$ openssl rsa -in private.pem -outform PEM -pubout -out public.pem

所以我相信我的公钥是 PKCS#1 填充和 OpenSSL 的 PEM 格式。

我相信我需要使用的函数是 rsa_import(),但这需要一个输入缓冲区、一个长度并输出一个 rsa_key 指针。 为了清楚起见,我相信我需要做的如下:

  1. 将 public.pem 的内容读入缓冲区
  2. 扔掉包含“开始公钥”等的页眉和页脚。
  3. 从 base64 解码数据。
  4. 将结果数据传递给 rsa_import。

这样对吗? 任何为此目的使用过 libtomcrypt 的人都可以对此发表评论吗? 谢谢。

因此,在深入研究 rsa_import() 的源代码后,我很快发现它希望密钥采用 DER 格式。 因为我可以访问私钥,所以我只是使用这个 openssl 命令制作了一个 DER 文件:

openssl rsa -in private.pem -outform DER -pubout -out public.der

值得注意的是 -outform 的参数现在是 DER 而不是 PEM。 在此之后,我只是将文件内容读入一个字符缓冲区,然后将其作为 rsa_import 的主要参数传入。 之后 rsa_import 使密钥没有问题,我能够从那里加密/解密。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM