Example #1
0
def generate_rsa_sha1_signature(base_string,
                                client_private_key,
                                *args, **kwargs):
    """
    Calculates an RSA-SHA1 OAuth signature.

    :see: RSA-SHA1 (http://tools.ietf.org/html/rfc5849#section-3.4.3)

    :param base_string:
        Base string.
    :param client_private_key:
        PEM-encoded RSA private key.
    :returns:
        RSA-SHA1 signature.
    """
    from mom.security.rsa import parse_private_key

    key = parse_private_key(client_private_key)
    return base64_encode(key.pkcs1_v1_5_sign(sha1_digest(base_string)))
Example #2
0
def verify_rsa_sha1_signature(signature,
                              base_string,
                              client_certificate,
                              *args, **kwargs):
    """
    Verifies a RSA-SHA1 OAuth signature.

    :see: RSA-SHA1 (http://tools.ietf.org/html/rfc5849#section-3.4.3)

    :param base_string:
        Base string.
    :param signature:
        RSA-SHA1 OAuth signature.
    :param client_certificate:
        PEM-encoded X.509 certificate or RSA public key.
    :returns:
        ``True`` if verified to be correct; ``False`` otherwise.
    """
    from mom.security.rsa import parse_public_key

    key = parse_public_key(client_certificate)
    return key.pkcs1_v1_5_verify(sha1_digest(base_string),
                                 base64_decode(signature))
Example #3
0
 def test_value(self):
   self.assertEqual(sha1_digest(*inputs), input_sha1_digest)
Example #4
0
 def test_value(self):
     self.assertEqual(hash.sha1_digest(*INPUTS), INPUT_SHA1_DIGEST)