使用 openssl 和 DER 格式的 public 密钥加密一个小文件

Encrypt a small file using openssl and a DER formatted public key

我使用 openssl 创建了一个 private/public 密钥对:

  openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650

因为我想使用 Github 中的 XRSA,我按照库作者的建议生成了 DER 格式的 public 密钥。

但是,当我尝试使用 public_key.der 文件加密文件时,我得到 "unable to load Public Key"。我试过以下方法:

$ openssl rsautl -pubin -inkey public_key.der -encrypt -in input.txt 
unable to load Public Key
$ openssl rsautl -pubin -keyform DER  -inkey public_key.der -encrypt -in input.txt 
unable to load Public Key

事实上,我已经尝试了上述选项的许多其他排列,总是得到相同的错误。

有人可以告诉我如何使用我生成的 public_key.der 文件加密一个小文本文件吗?

您用于生成的命令用于生成自签名证书。

尝试使用这些命令生成 RSA 密钥对:

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

然后加密文件:

openssl rsautl -pubin -keyform der -inkey public.der -encrypt -in input.txt