WebCrypto APIのJavaScript実装「PolyCrypt」
PolyCryptはJavaScript製、BSD Licenseのオープンソース・ソフトウェアです。
HTML5で策定が進んでいる仕様の一つにWebCrypto APIがあります。これはWebブラウザの標準機能として暗号化を提供するものです。しかし実際に実現するにはまだしばらく時間がかかるでしょう。そこで使ってみたいのがPolyCryptです。
[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 10.39.07_thumb.1374590740.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 10.39.07.1374590740.png)
デモです。入力と暗号化しての出力、そして復号化が行われています。
[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 10.39.15_thumb.1374590744.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 10.39.15.1374590744.png)
SHA-256のハッシュ値を算出するデモです。
[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 10.39.57_thumb.1374590748.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 10.39.57.1374590748.png)
メールアドレスとパスワードを指定して、PEM/P12の証明書を出力するデモです。
[![](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 10.40.10_thumb.1374590751.png)](http://images.moongift.jp/2013/07/Screenshot 2013-07-22 10.40.10.1374590751.png)
ダウンロードするとちゃんと証明書になっています。
PolyCryptはWebCrypto APIのJavaScript実装です。Androidのデフォルトブラウザ、Opera Mini、IE10未満では動作しませんのでご注意ください。先進的な機能を先んじて試してみたい方はぜひ。
MOONGIFTはこう見る
Webブラウザで暗号化と言えばSSLが有名ですが、WebCrypto APIが標準化されればJavaScriptレベルでも暗号化されたデータの授受が行えるようになります。証明書用のファイルまで作成できてしまうのが驚きです。
JavaScriptでできるならAPIにする必要がないと思ってしまいますが、ブラウザで標準サポートされているかどうかの違いは大きいです。よりセキュアなWebサイト実現に向け、登場の待たれるAPIです。