3

我在创建公钥/私钥对并使用它来加密文件时遇到问题。

首先我生成私钥:

openssl genrsa -out private.pem 2048

然后我提取公钥:

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

这样我就可以加密我的文件:

openssl rsautl -encrypt -inkey public.pem -in myfile.txt -out file.ssl

但后来有人告诉我:

Loading 'screen' into random state - done
unable to load Private Key
7064:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:
    Expecting: ANY PRIVATE KEY

我不明白...为什么要尝试加载私钥?如何使用公钥加密文件?

4

1 回答 1

7

您忘记指定它是公钥,需要显式完成。这有效(我正在使用pkeyutl,不推荐使用特定的“utl”):

openssl pkeyutl -encrypt -in myfile.txt -pubin -inkey public.pem -out file.ssl

您必须小心放置-pubin- 如果在-inkey public.pemexample 之后指定它,您将再次收到与以前相同的错误。是的,我知道。

于 2012-06-01T20:03:21.927 回答