Help us understand the problem. What is going on with this article?

相手のssh公開鍵を使って便利に暗号化する方法

More than 5 years have passed since last update.

普段、社外とやり取りしないので、どれがメインストリームなのかわからないけど、
相手の人もエンジニアっぽかったから、とりあえず公開鍵もらって、暗号化することにした。

送られてきたのはGPG公開鍵ではなくssh公開鍵だったので、調べながらやってみた。

OpenSSHで作った公開鍵をOpenSSLで扱えるようにするのにハマったけど、
手順は簡単だったのでメモっとく。

1. Opensslでも扱えるPKCS#8形式にssh公開鍵を変換する

ssh-keygen -f <ssh公開鍵> -e -m PKCS8 > hoge

ssh公開鍵のフォーマットはこんな感じ

ssh-rsa AAAAB3NzaC1yc2EAaAADAQABAAABAQDvi3d/Y7oXGqS72okWF/EVYotL/SGkVk7tngCBkEDh3BznfU7XURi5p/uf7Hvzy1IWqJyne5umEyvMR6svPs0+kIQpcClpPvyz5KFWgSCJIA3dsYI4sQNTfJfSEaDBUyVNCjcWmpuvwbnRdTv7QVBZKp8Rgc7bk+8x40aD2GtUZ1YsuqpnI4nsxyCuoPc+jH1trMIDettUPCK8evMsJPvBJkIVULEJWik/qgjjFsGtAzJJyFFy3meXN9u4uPYYKKVgH2hM705QS/ucNULhp2Ey1tOcqYgfnTVJj320up0s9acsljJv6cQK60dzVC9XhN5ECabGQhgfKKCozaGm/hWB

変換後のやつ
BEGIN PUBLIC KEYという文言に注意する(PEM形式とは違う)

-----BEGIN PUBLIC KEY-----
HOGEfugaHOGEfufaHOGEfugaHOGEfufaHOGEfugaHOGE
HOGEfugaHOGEfufaHOGEfugaHOGEfufaHOGEfugaHOGE
HOGEfugaHOGEfufaHOGEfugaHOGEfufaHOGEfugaHOGE
HOGEfugaHOGEfufaHOGEfugaHOGEfufaHOGEfugaHOGE
HOGEfugaHOGEfufaHOGEfugaHOGEfufa==
-----END PUBLIC KEY-----

2. 暗号化

さっき作った鍵をつかってopensslコマンドで暗号化
-pubinというオプションをしていて公開鍵で暗号化することを明示してあげる

openssl rsautl -encrypt -pubin -inkey hoge -in fuga.csv -out fuga.csv.encrypted

以上

復号化は下のコマンドでできる

openssl rsautl -decrypt -inkey private_key -in fuga.csv.encrypted -out fuga.csv.decrypted

小技:https://github.com/<username>.keysから相手の公開鍵拾えるし便利

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした