Skip to content

Instantly share code, notes, and snippets.

@hangj
Forked from cjies/vapid_helper.py
Last active March 19, 2024 11:40
Show Gist options
  • Save hangj/9870aac84349a54acfe31d2527c9b5e0 to your computer and use it in GitHub Desktop.
Save hangj/9870aac84349a54acfe31d2527c9b5e0 to your computer and use it in GitHub Desktop.
Python based VAPID key-pair generator
import base64
import ecdsa
def generate_vapid_keypair():
"""
Generate a new set of encoded key-pair for VAPID
"""
pk = ecdsa.SigningKey.generate(curve=ecdsa.NIST256p)
vk = pk.get_verifying_key()
return {
'private_key': base64.urlsafe_b64encode(pk.to_string()).strip(b"="),
'public_key': base64.urlsafe_b64encode(b"\x04" + vk.to_string()).strip(b"=")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment