それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ssh秘密鍵を使って「署名?」して暗号ファイルを送る

openssh の公開鍵を使って相手にデータを送ってみた

takuya-1st.hatenablog.jp

逆に秘密鍵で暗号化してデータを送る

ファイルを作って

cat - > plain.txt
わたしはエネループが好きです

id_rsa秘密鍵でデータを暗号化してが出来る。

openssl rsautl -sign -inkey /Users/takuya/.ssh/id_rsa -in plain.txt -out ecryted.txt

これを相手に送ると、相手は私の公開鍵で復号化(検証)が出来る

公開鍵で復号化する。

openssh の公開鍵はそのままでは使えないので、PCKS8に変換しておく

ssh-keygen  -f sekisui.keys  -e -m PKCS8 > takuya.pkcs8

この公開鍵を使って復号化できる。

 openssl rsautl -verify -pubin -inkey takuya.pkcs8 -in ecryted.txt
わたしはエネループが好きです

verify と付いているので一応「検証」だとは思うけれど、これって復号化だよね・・・

これも使い所が難しい

公開鍵で復号化出来たら、「秘密鍵の持ち主」から暗号化されてたことがわかる。

でも、署名にハッシュは出てこないし。どうしたらイイんだろうか

ハッシュを暗号化して送るためにあるって解釈してるんだけど、会ってるのかな。

参考資料

OpenSSLコマンドによる公開鍵暗号、電子署名の方法 - Qiita