原因は全然掴みきれてませんが、PHPの環境構築な可能性が一番高い気がしてます。
しかし、所望の暗号化通信自体には成功しました。
今回はjCryptionというライブラリを使用しました。
こいつもaSSLと同じようなものなんですが、jQueryに依存している点、Javascript+PHPのサンプルが文句なしに動く点が違いましたw
今回はこいつの解説とかを特に行ったりするわけではないですが、 ライブラリに付属してくるサンプルが小さくて解りやすくてすぐ動くので、導入はそこまで大変ではないはずです。
おかげさまで、ユーザにメールアドレスやらパスワードやらを送信してもらう際に、暗号化してデータをPOSTすることが可能になりました。
こんな感じで普通にボタンをクリックすると、wiresharkで見たときに、、
$_POST['email] === 'someone@somewhere.com'
$_POST['password'] === 'secret'
であることがモロばれです。
そこでjCryptionを使ってやると・・・
メールアドレスもパスワードも、全部 $_POST['jCryption'] という変数に暗号化して収められていることが分かります。
あとはこいつをPHP側で(サンプル通りに)復号化してやれば、目的達成というわけです。
しかしjQryptionにたどり着くまでに色々なライブラリを試しては挫折しを繰り返し、今日はほぼ一日暗号化に費やしてしまいました。非リア乙。
あとは今後このライブラリ周りで改善していきたいことを書いていって本日の記事を締めくくりたいと思います。
- こちらで指摘されているとおり、セッションで鍵情報をやり取りするのはよろしくない
- 暗号化はRSAの2048bitだが、さすがに処理が重い。ライブラリのソースいじってビット数をもう少し落としたい
0 件のコメント:
コメントを投稿