我有这个bash脚本
#generate key
openssl genrsa -out key.pem 2048
openssl rsa -in key.pem -text -noout
#save public key in pub.pem file
openssl rsa -in key.pem -pubout -out pub.pem
openssl rsa -in pub.pem -pubin -text -nout
#encrypt data
openssl rsautl -encrypt -inkey pub.pem -pubin -in license.json -out license_encrypted.json
#decrypt data
openssl rsautl -decrypt -inkey key.pem -in license_encrypted.json
在代码中,您可以看到我使用公钥加密文件并使用私钥解密,我需要知道如何使用私钥和公钥进行加密。这可能吗。我应该使用私钥解密还是可以使用公钥进行idecrypt,这与我尝试加密的软件许可证有关
答案 0 :(得分:2)
我需要知道如何使用私钥和公钥加密。
这没有任何意义。
在公钥加密中,每一方都有一个由公钥和私钥组成的密钥对。要为某人加密消息,请使用他的公钥;然后,他将使用他的私钥来解密消息。
因此,您的客户端应该生成一次密钥对(最好是自动完成),然后向您发送他的公钥,您将使用该公钥加密许可文件并将其发回给他。