def test_aes_ok_encrypt(): saved_key = "thT80v8XOBJaFZ85wmP05TdqSX/BB4lVTIvGuac/vgE=" request_nonce = "I3AWYKKIgTtchOGCHwNi6A==" request_verifer = "eij8zQB61XVoh36SisyTDFbmh5J88oVzq/gVpOKQHQM=" message = "https://webmail.gurkenbruehe.de" kpc = AESCipher(saved_key, request_nonce) assert kpc.is_valid(request_nonce, request_verifer) assert kpc.encrypt( message) == "LTvHK1ctTVFVT9APqW6jhwKtdsZ5Vu21Pa79pLV4b+Y="
def authenticate(self): client_id = self.get_client_id() log.info("Authenticate client %s" % client_id) key = Conf().backend.get_config(client_id) if not key: raise AuthenticationError() nonce = self.request_dict['Nonce'] verifier = self.request_dict['Verifier'] kpc = AESCipher(key, nonce) # wrong saved key in database -> force associate if not kpc.is_valid(nonce, verifier): raise InvalidAuthentication() self.set_kpc = kpc self.set_verifier()
def authenticate(self): client_id = self.get_client_id() log.info("Authenticate client %s" % client_id) key = Conf().backend.get_key_for_client(client_id) # FIXME: Fix unit tests # Special case when methods used in unit test are not mocked correctly. # <TestAES name='AESCipher().key' id='25131856'> is not None :S if key is None or not isinstance(key, basestring): raise AuthenticationError() nonce = self.request_dict['Nonce'] verifier = self.request_dict['Verifier'] kpc = AESCipher(key, nonce) # wrong saved key in database -> force associate if not kpc.is_valid(nonce, verifier): raise InvalidAuthentication() self.set_kpc = kpc self.set_verifier()