VAPID キージェネレーターとは
VAPID(Voluntary Application Server Identification)は、Web Push Protocolの一部です。公開鍵と秘密鍵のペアを使用して、プッシュサービス(GoogleのFCMやMozillaのautopushなど)に対するアプリケーションサーバーを識別します。公開鍵はプッシュ購読中にブラウザに送信されます。秘密鍵はサーバーに残り、プッシュメッセージに署名します。これらを組み合わせることで、プッシュメッセージがなりすましではなく、実際のサーバーから送信されたものであることを証明します。
クイックアンサー
Web Push通知用のVAPID鍵ペアを生成します。公開鍵はpushManager.subscribe()用にフロントエンドJavaScriptに配置します。秘密鍵はサーバーに残り、web-pushライブラリまたはFirebaseと共に使用してプッシュメッセージに署名します。秘密鍵は決して公開しないでください。
Last updated: 2026-05-28
制限事項
- ブラウザで生成された鍵は、ブラウザ環境と同じ程度にしか安全ではありません。プロダクションでの使用には、OpenSSLを使用してサーバーサイドで鍵を生成し、秘密鍵をセキュアなシークレットマネージャーに保存することを検討してください。
- Web Crypto APIにはセキュアコンテキスト(HTTPSまたはlocalhost)が必要です。ブラウザがWeb Cryptoをサポートしていない場合、ツールは鍵を生成できません。
- VAPID鍵はP-256(prime256v1)曲線を使用します。一部の古いプッシュライブラリは異なる形式を期待するため、特定のプッシュサービスまたはライブラリが期待する形式を常に確認してください。
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
使い方
- [鍵ペアを生成]ボタンをクリックして、ブラウザのWeb Crypto APIを使用して新しいP-256鍵ペアを作成します。
- 公開鍵をフロントエンドJavaScriptにコピーし、pushManager.subscribe()で使用します。
- 秘密鍵をサーバーの環境変数にコピーし、web-pushライブラリまたはFirebaseで使用します。
- 秘密鍵は決して公開しないでください。サーバーに残り、プッシュメッセージの署名に使用されます。
主な用途
- WebアプリにWebプッシュ通知を追加するためのVAPID鍵ペアを生成する。
- 誤って公開されたVAPID鍵ペアを新しいものに交換する。
- web-push npmライブラリ、Firebase Cloud Messaging、またはカスタムプッシュサーバーでプッシュ通知を設定する。