Herramientas GitHub Pages

Gratis Generador de claves VAPID

Genera un par de claves VAPID para notificaciones Web Push usando la API Web Crypto.

Cargando herramienta...

Qué es Generador de claves VAPID?

VAPID (Voluntary Application Server Identification) es parte del Protocolo Web Push. Utiliza un par de claves pública/privada para identificar su servidor de aplicaciones ante los servicios push (como FCM de Google o autopush de Mozilla). La clave pública se envía al navegador durante la suscripción push. La clave privada permanece en su servidor y firma los mensajes push. Juntas demuestran que el mensaje push proviene de su servidor.

Respuesta rápida

Genere un par de claves VAPID para notificaciones Web Push. La clave pública va en su JavaScript frontend para pushManager.subscribe(). La clave privada permanece en su servidor para firmar mensajes push. Nunca exponga la clave privada.

Last updated: 2026-05-28

Limitaciones

  • Las claves generadas en el navegador son tan seguras como el entorno del navegador. Para producción, considere generarlas en el servidor con OpenSSL.
  • La API Web Crypto requiere un contexto seguro (HTTPS o localhost).
  • Las claves VAPID usan la curva P-256 (prime256v1). Algunas bibliotecas push antiguas esperan formatos diferentes.

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

Cómo usar esta herramienta

  1. Haga clic en Generar Par de Claves para crear un nuevo par de claves P-256 usando la API Web Crypto de su navegador.
  2. Copie la clave pública en su JavaScript frontend donde llama a pushManager.subscribe().
  3. Copie la clave privada en las variables de entorno de su servidor.
  4. Nunca exponga la clave privada — permanece en su servidor y se usa para firmar mensajes push.

Para qué puedes usarla

  • Generar un par de claves VAPID para agregar notificaciones push web a una aplicación web.
  • Reemplazar un par de claves VAPID expuesto accidentalmente por uno nuevo.
  • Configurar notificaciones push con la biblioteca npm web-push, Firebase Cloud Messaging o un servidor push personalizado.

Casos de uso

Ejemplos prácticos

Ejemplo

Configurar web-push en un servidor Node.js

Genere un par de claves. Almacene la clave privada en una variable de entorno. Use la clave pública en el frontend para suscribir usuarios. En el servidor, use webpush.setVapidDetails() con ambas claves y una URL mailto: de contacto.

Ejemplo

Configurar Firebase Cloud Messaging para Web Push

Genere un par de claves. En Firebase Console > Project Settings > Cloud Messaging, cargue el par bajo Web Push certificates. Use la clave pública en la inicialización de su aplicación web Firebase.

Errores comunes

  • Confirmar la clave privada en un repositorio git público — debe mantenerse en secreto mediante variables de entorno.
  • Usar el mismo par VAPID para múltiples aplicaciones no relacionadas — genere un par separado para cada aplicación.
  • Perder la clave privada — no hay forma de recuperarla. Debe generar un nuevo par y actualizar el servidor y todos los clientes.

Verificación

  1. Pruebe el par de claves suscribiendo un navegador a notificaciones push y enviando un mensaje push de prueba desde su servidor.
  2. Verifique que la clave pública esté correctamente incrustada en su JavaScript frontend revisando el parámetro applicationServerKey.

FAQ

Preguntas sobre Generador de claves VAPID

¿Puedo generar las claves VAPID en mi servidor?

Sí, y para producción se recomienda. Use OpenSSL: openssl ecparam -genkey -name prime256v1 -noout -out vapid_private.pem. Esta herramienta del navegador es conveniente para desarrollo y pruebas.

¿Qué pasa si mi clave privada VAPID se expone?

Cualquier persona con la clave privada puede enviar mensajes push que parecen venir de su servidor. Genere un nuevo par inmediatamente, actualice su servidor y vuelva a suscribir a todos los usuarios.

¿Necesito un par de claves VAPID para Firebase Cloud Messaging?

Sí, si usa el Protocolo Web Push con FCM. Firebase requiere un par de claves VAPID en Project Settings > Cloud Messaging > Web Push certificates.

Herramientas relacionadas

Más herramientas github pages

Prueba también

Prueba también