在Linux上使用OpenSSL實現端到端加密通常涉及以下步驟:
生成密鑰對:
openssl genpkey -algorithm RSA -out private_key.pem 2048
openssl rsa -pubout -in private_key.pem -out public_key.pem
分發公鑰:
public_key.pem
)安全地分發給通信的另一方。加密數據:
recipient_public_key.pem
。openssl rsautl -encrypt -pubin -inkey recipient_public_key.pem -in plaintext.txt -out encrypted_data.bin
解密數據:
openssl rsautl -decrypt -inkey private_key.pem -in encrypted_data.bin -out decrypted_data.txt
假設Alice和Bob想要通過端到端加密通信:
# Alice生成密鑰對
openssl genpkey -algorithm RSA -out alice_private_key.pem 2048
openssl rsa -pubout -in alice_private_key.pem -out alice_public_key.pem
# Alice將公鑰發送給Bob(假設通過安全的方式)
# Bob生成密鑰對
openssl genpkey -algorithm RSA -out bob_private_key.pem 2048
openssl rsa -pubout -in bob_private_key.pem -out bob_public_key.pem
# Bob將公鑰發送給Alice(假設通過安全的方式)
# Alice使用Bob的公鑰加密消息
openssl rsautl -encrypt -pubin -inkey bob_public_key.pem -in message.txt -out encrypted_message.bin
# Bob使用自己的私鑰解密消息
openssl rsautl -decrypt -inkey bob_private_key.pem -in encrypted_message.bin -out decrypted_message.txt
通過以上步驟,你可以在Linux上使用OpenSSL實現端到端加密通信。