
    kCi                     X   S r SSKJr  SSKJr   SSKJr  SSKJr  \b8  \b5  / SQr\R                  r\R                  r	\R                  r
\R                  rO/ SQr\R                  r\R                  r\R                  r\R                  r\R                  4S	 jrg! \ a    SrSr Nf = f)
a\  Cryptography helpers for verifying and signing messages.

The simplest way to verify signatures is using :func:`verify_signature`::

    cert = open('certs.pem').read()
    valid = crypt.verify_signature(message, signature, cert)

If you're going to verify many messages with the same certificate, you can use
:class:`RSAVerifier`::

    cert = open('certs.pem').read()
    verifier = crypt.RSAVerifier.from_string(cert)
    valid = verifier.verify(message, signature)

To sign messages use :class:`RSASigner` with a private key::

    private_key = open('private_key.pem').read()
    signer = crypt.RSASigner.from_string(private_key)
    signature = signer.sign(message)

The code above also works for :class:`ES256Signer` and :class:`ES256Verifier`.
Note that these two classes are only available if your `cryptography` dependency
version is at least 1.4.0.
    )base)rsa)es)es256N)EsSigner
EsVerifierES256SignerES256Verifier	RSASignerRSAVerifierSignerVerifier)r   r   r   r   c                     [        U[        [        45      (       a  U/nU H,  nUR                  U5      nUR	                  X5      (       d  M,    g   g)a  Verify an RSA or ECDSA cryptographic signature.

Checks that the provided ``signature`` was generated from ``bytes`` using
the private key associated with the ``cert``.

Args:
    message (Union[str, bytes]): The plaintext message.
    signature (Union[str, bytes]): The cryptographic signature to check.
    certs (Union[Sequence, str, bytes]): The certificate or certificates
        to use to check the signature.
    verifier_cls (Optional[~google.auth.crypt.base.Signer]): Which verifier
        class to use for verification. This can be used to select different
        algorithms, such as RSA or ECDSA. Default value is :class:`RSAVerifier`.

Returns:
    bool: True if the signature is valid, otherwise False.
TF)
isinstancestrbytesfrom_stringverify)message	signaturecertsverifier_clscertverifiers         V/var/www/html/land-ocr/venv/lib/python3.13/site-packages/google/auth/crypt/__init__.pyverify_signaturer   P   sM    $ %#u&&++D1??7..      )__doc__google.auth.cryptr   r   r   r   ImportError__all__r   r   r	   r
   r   r   r   r   r    r   r   <module>r#      s   2 # !$'
 >e'	G {{HJ##K''M@G
 
==MM	oo >A__ A  	BEs   B 
B)(B)