#contents

** キーペアを作成 [#afad5a08]
 $ ssh-keygen -t rsa -b 4096 -C "masatomix@ki-no.org" -f sshkeygen
 Generating public/private rsa key pair.
 Enter passphrase (empty for no passphrase):
 Enter same passphrase again:
 Your identification has been saved in sshkeygen.
 Your public key has been saved in sshkeygen.pub.
 The key fingerprint is:
 08:14:ad:fc:50:e5:d4:b3:ee:d3:9d:fa:10:2f:81:ab masatomix@ki-no.org

 $ ls -lrt
 -rw-r--r-- 1 ec2-user ec2-user  745  9月  5 07:40 sshkeygen.pub   ← 公開鍵
 -rw------- 1 ec2-user ec2-user 3247  9月  5 07:40 sshkeygen       ← 秘密鍵
 $
キーペアが作成できました。

**秘密鍵で暗号化する [#z1a2c1be]
秘密鍵で暗号化・復号化してみます。
 $ echo 'hoge' | openssl rsautl -encrypt -inkey sshkeygen > encrypted.out
 $ openssl rsautl -decrypt -inkey sshkeygen -in encrypted.out
 hoge
本来秘密鍵で暗号化した情報は公開鍵で復号するのですが((秘密鍵のなかに公開鍵の情報も含まれているんでしょうかね。。よくわからない))。

**公開鍵で暗号化する [#gca8570e]
公開鍵で復号してみます。
 $ echo 'hoge' | openssl rsautl -encrypt -pubin -inkey sshkeygen.pub > encrypted.out
 unable to load Public Key
 $
失敗しました。公開鍵で暗号化するときは -pubinオプションをつけるのですが、それをつけてもエラーになるようです。 

** *.pubファイルをopenssl形式に変換?して、公開鍵で暗号化する [#yec397b7]
 $ ssh-keygen -e -m PKCS8 -f sshkeygen.pub  > sshkeygen.pub.pem
 $ echo 'hoge' | openssl rsautl -encrypt -pubin -inkey sshkeygen.pub.pem  > encrypted.out

今度は公開鍵で暗号化出来ました。
 $ openssl rsautl -decrypt -inkey sshkeygen -in encrypted.out
 hoge

秘密鍵で復号も出来ました。うまくいきましたね。

**ターミナルで作成した鍵を、Javaでつかえる形式に変換する。 [#y8044414]

上記で作成した sshkeygen/sshkeygen.pub について。
 $ openssl rsa -pubout  -in sshkeygen -out public.der -outform DER     ←公開鍵
 $ openssl pkcs8 -topk8 -nocrypt  -in sshkeygen -out private.pk8 -outform DER      ←秘密鍵

これらのファイル private.pk8 / public.der はJavaで読み込むことが可能です。
やっぱり、ssh-keygen のファイルには公開鍵の情報も含まれてるんですね、、。



**関連リンク [#y6d9a1c2]
-[[OpenSSLを使用してファイルをRSA暗号化する - momoto.github.io>http://momoto.github.io/blog/2012/10/14/rsa-encryption-and-decryption/]]
-[[シェルスクリプトの平文パスワードをセキュアにする方法 - 余白の書きなぐり>http://auewe.hatenablog.com/entry/2014/04/14/213319]]
-[[OpenSSLで作成したRSAの鍵を使ってJavaで暗号化・復号するサンプル - BLOG.IK.AM>https://blog.ik.am/entries/327]]
-[[OpenSSLで生成したRSA鍵をJavaで読み込む - unhurried>http://unhurried.hatenablog.com/entry/openssl_java_rsa_key]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS