2018/08/24(金)[RFC]WebPush実装まとめ(Chrome/Firefox/Android/Edge) ネットプログラム::Perl Web Pushを実装したまとめ。動作確認済のデモソース付。 2018/08/24 公開されたRFCに準拠し、内容をアップデートしました。 旧仕様のaesgcmから、新仕様のaes128gcmに説明を変更しました。 2017/04/22 初公開 WebPushとは WebPushに使用される暗号の話 楕円曲線暗号(ECC)とは ServiceWorker APIについて WebPushを実装するための手順 HKDF 登録 通知メッセージの暗号化 VAPIDの生成と署名 ヘッダの生成とデータ送信 補足 URL safe Base64(base64url encode)について ASN1 DER formatについて WebPush実装に必要なライブラリ JavaScript側の実装 ServiceWorker API ServiceWorkerの登録 ServiceWorkerスクリプト(登録されるスクリプト) ServiceWorkerスクリプトのスコープと権限 DOS/CSRF攻撃の危険性 攻撃方法1 攻撃方法2 対応策 まとめ 参考文献 デモと実装例 Safariについて 続きを読む