質問: tarファイルを非対称的に暗号化する 私は次のようなことを達成したいtar -c directory | openssl foo > encrypted_tarfile.dat 公開鍵暗号化を使用するにはopensslツールが必要です。対称 コマンドプロンプトでの暗号化 (原文のまま!)についての以前の質問を見つけましたが、これでは不十分です。 openssl(1)のマニュアルページを調べたところ、対称暗号化しか見つかりませんでした。 opensslは本当に非対称暗号化をサポートしていませんか?基本的に、多くのユーザーが暗号化されたtarファイルを作成して中央の場所に保存することになっていますが、それらを読み取ることができるのはごくわずかです。
回答: opensslの非対称暗号化ルーチンは、rsautlサブコマンドの下にあります。 (opensslの最近のバージョンでは、これはpkeyutlコマンドに置き換えられましたが、引数は同じようです。)誰かの公開鍵を使用してtarファイルを暗号化します。openssl rsautl -encrypt -inkey bob.pub -pubin -in foo.tar -out foo.tar.enc 次に、秘密鍵を使用してtarファイルを復号化できます。openssl rsautl -decrypt -inkey bob -in foo.tar.enc -out foo.tar sshとsslは異なるキー形式を使用することに注意してください。したがって、暗号化/復号化にsshキーを使用する場合は、〜/ .ssh /id_rsa.pubをそのまま使用することはできません。