def setUp(self): self.key = crypto.Key() self.pykey = crypto.Key( private_key_string=self.key.get_private_key_string(), public_key_string=self.key.get_public_key_string(), use_m2crypto=False) self.message_actual = "Hello world! Please leave a message after the tone." self.message_fake = "Hello world! Please leave a message after the tone..."
def get_key(self): if not self.key: if self.get_metadata().is_own_device: self.key = crypto.get_own_key() elif self.public_key: self.key = crypto.Key(public_key_string=self.public_key) return self.key
def test_pub_key_with_both_headers_verification_m2crypto(self): key = crypto.Key(public_key_string=self.pub_key_with_both_headers, use_m2crypto=True) self.assertTrue(key.verify(self.message_actual, self.signature)) self.assertFalse(key.verify(self.message_fake, self.signature))
def test_priv_key_without_pem_header_verification_m2crypto(self): key = crypto.Key(private_key_string=self.priv_key_without_pem_header, use_m2crypto=True) self.assertTrue(key.verify(self.message_actual, self.signature)) self.assertFalse(key.verify(self.message_fake, self.signature))
def test_pubkey_verification_m2crypto(self): pubkey = crypto.Key(public_key_string=self.key.get_public_key_string(), use_m2crypto=True) sig = self.key.sign(self.message_actual) self.assertTrue(pubkey.verify(self.message_actual, sig)) self.assertFalse(pubkey.verify(self.message_fake, sig))
def test_base64_signature_verification(self): key = crypto.Key(public_key_string=self.pub_key_with_no_headers) self.assertTrue(key.verify(self.message_actual, self.signature_base64)) self.assertFalse(key.verify(self.message_fake, self.signature_base64))
def test_pub_key_with_pkcs8_header_verification_pyrsa(self): key = crypto.Key(public_key_string=self.pub_key_with_pkcs8_header, use_m2crypto=False) self.assertTrue(key.verify(self.message_actual, self.signature)) self.assertFalse(key.verify(self.message_fake, self.signature))