有没有办法用RSA加密和解密只有pem公钥文件或pem私钥文件?

时间:2018-06-15 08:40:36

标签: c openssl cryptography rsa

我尝试使用openssl加密短文,但我不知道如何继续。更具体地说:我发现了一个似乎有用的代码,但是必须从终端执行的指令。是的,我知道,存在system()函数,但是我想避免它,因为它需要文件夹中的文件,这意味着我首先创建它然后加密。用更少的词来说:是否有一些c代码函数可以替代它 openssl rsautl -encrypt -inkey public_key.pem -pubin -in -out 还有这个 openssl rsautl -decrypt -inkey private_key.pem -in -out ??? 注意: RSA_public_encrypt()RSA_public_decrypt()不能使用,因为它们需要RSA结构,即密钥对,但在我的场景中我只有公钥

1 个答案:

答案 0 :(得分:1)

即使fun all_except_option (_, []) = NONE | all_except_option (t, s :: ss) = if s = t then SOME ss (* don't include s in result, and don't recurse further *) else Option.map (fn ss' => s :: ss') (all_except_option (t, ss)) 结构能够保存密钥对,也不一定要使用私钥和公钥来使用RSA *rsa

@Aconcagua已经对非对称加密进行了很好的解释,这实际上可以解释为什么你永远不必拥有这两个密钥,打算加密的人持有公钥,而想要解密的人将拥有相应的私钥

因此,您只需在RSA_public_encrypt()中加载公钥并将其与RSA *rsa一起使用