量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

Cygwin の openssl コマンドを使ってファイルを暗号化する。

スポンサーリンク

こんな感じでやりました。

$ openssl req -x509 -nodes -days 100000 -newkey rsa:2048 -keyout private.key -out public.key -subj '/'


  • 画像ファイル target.jpg を暗号化したファイル target.jpg.encrypt を生成する。

$ openssl smime -encrypt -aes256 -in target.jpg -binary -outform DEM -out target.jpg.encrypt public.key



target.jpg.encrypt ファイルを画像ビューワで開くと、「画像が壊れている」という期待通りの結果が出たので、ひとまずこれで良しとします。


以下、失敗例:

  • rsautl オプションだと、サイズが大きいファイルの暗号化はできないらしい。

$ openssl rsautl -encrypt -pubin -inkey public.key -in target.jpg -out target.jpg.encrypt
RSA operation error
2348672:error:0406D06E:rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size:rsa_pk1.c:153:


  • 秘密鍵・公開鍵を生成する時に -subj オプションを指定していないと、暗号化時に以下の様なエラーが発生する。

$ openssl smime -encrypt -aes256 -in target.jpg -binary -outform DEM -out target.jpg.encrypt public.key
unable to load certificate
2348672:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE



参考記事: