我使用RSA_generate_key方法在c ++中创建了rsa密钥对,并将公钥写入单独的文件。当我尝试通过命令行使用该公钥加密文本时,我收到“无法加载公钥”错误。请有人帮助我...
用于加密的命令
openssl rsautl -encrypt -inkey public.pem -in myfile.txt -out file.ssl
用于生成密钥的函数
RSA_generate_key(1024,3,0,0);
感谢。
答案 0 :(得分:0)
我使用
RSA_generate_key
方法在c ++中创建了rsa密钥对,并将公钥写入单独的文件。
RSA_generate_key
创建一个密钥对。你用什么来写一个文件的密钥?
openssl rsautl -encrypt -inkey public.pem -in myfile.txt -out file.ssl
我收到“无法加载公钥”错误。
根据rsautil(1)上的OpenSSL文档:
-inkey file
the input key file, by default it should be an RSA private key.
您需要使用-pubin
:
-pubin
the input file is an RSA public key.
用于生成密钥的函数:
RSA_generate_key(1024,3,0,0);
您应该使用RSA_generate_key_ex
。请参阅RSA_generate_key(3)上的OpenSSL文档。