Web Cryptography API

W3C Web Cryptography (WebCrypto) API は,Webアプリケーションで基本的な暗号認証機能を実現するための JavaScript API を定義しています. WebCrypto APIを使うと,JavaScript で暗号化・復号,署名生成・検証等の暗号認証処理を実現できます. (→ Web Cryptography API Tutorial)

WebCrypto API サポート

WebCrypto API は,Chrome,Firefox など主要な Webブラウザで実装されています.

主要な Webブラウザ毎の実装サポート状況は以下です.

なお,Chrome では現状,HTTPS などセキュアな環境でない場合,未定義な API になるようです.但し,HTTP でもローカルなマシン上ならば動作します.

WebCrypto インターフェイス

WebCrypto API は,次の機能にアクセスするインターフェイスを定義しています.

暗号認証アルゴリズム

利用できる暗号認証アルゴリズムは以下です (2017.10 現在) .

暗号認証メソッド

WebCrypto API のハッシュ関数,暗号化,鍵生成などの関数(メソッド)は,乱数生成を除いて全て "window.crypto.subtle" の名前空間に入っています(Firefox, Chrome など).

API の殆ど全ての暗号機能は非同期実行 API になっています. 各関数の戻り値は,非同期実行のための Promiseオブジェクトと呼ばれる値として返されます.非同期処理が終わった際に実行する関数や,エラーが起きた際に実行する処理を then()メソッドで定義します. (→ Promise)

主なメソッドの API を示します.(→ SubtleCrypto)

JavaScript コード例

inserted by FC2 system