code: def rsa_pkcs1v15_verify(certificate_or_public_key, signature, data, hash_algorithm):
      
  
      if certificate_or_public_key.algorithm != 'rsa':
          raise ValueError('The key specified is not an RSA public key')
  
      return _verify(certificate_or_public_key, signature, data, hash_algorithm)
docs: Verifies an RSASSA-PKCS-v1.5 signature.
  
      When the hash_algorithm is "raw", the operation is identical to RSA
      public key decryption. That is: the data is not hashed and no ASN.1
      structure with an algorithm identifier of the hash algorithm is placed in
      the encrypted byte string.
  
      :param certificate_or_public_key:
          A Certificate or PublicKey instance to verify the signature with
  
      :param signature:
          A byte string of the signature to verify
  
      :param data:
          A byte string of the data the signature is for
  
      :param hash_algorithm:
          A unicode string of "md5", "sha1", "sha256", "sha384", "sha512" or "raw"
  
      :raises:
          oscrypto.errors.SignatureError - when the signature is determined to be invalid
          ValueError - when any of the parameters contain an invalid value
          TypeError - when any of the parameters are of the wrong type
          OSError - when an error is returned by the OS crypto library