2012-06-01 34 views
3

我在創建公鑰/私鑰對並使用它來加密文件時遇到了問題。爲什麼我無法使用OpenSSL進行加密?

首先我生成私鑰:

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 

我不明白...爲什麼它試圖加載私人關鍵?如何使用公鑰加密文件?

回答

7

你忘了指定,這是一個公共密鑰,它需要做explicitly。這工作(我使用pkeyutl,特定的「UTL」 S已廢棄):

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

你,你把-pubin要小心 - 如果-inkey public.pem例如後指定它,你將再次收到與以前一樣的錯誤。是的,我知道。

+0

啊,真棒,謝謝! :) – Mehrdad

相關問題