code: def push_subscription_generate_keys(self):
          
          push_key_pair = ec.generate_private_key(ec.SECP256R1(), default_backend())
          push_key_priv = push_key_pair.private_numbers().private_value
          push_key_pub = push_key_pair.public_key().public_numbers().encode_point() 
          push_shared_secret = os.urandom(16)
          
          priv_dict = {
              'privkey': push_key_priv,
              'auth': push_shared_secret
          }
          
          pub_dict = {
              'pubkey': push_key_pub,
              'auth': push_shared_secret
          }
          
          return priv_dict, pub_dict
docs: Generates a private key, public key and shared secret for use in webpush subscriptions.
          
          Returns two dicts: One with the private key and shared secret and another with the 
          public key and shared secret.