Ejemplo n.º 1
0
 def test_mysql_aes_decrypt(self):
     """Test mysql_aes_encrypt."""
     self.assertEqual(
         mysql_aes_decrypt(unhexlify("9e9ce44cd9df2b201f51947e03bccbe2"),
                           "key"), "test")
     self.assertEqual(
         mysql_aes_decrypt(unhexlify(u"9e9ce44cd9df2b201f51947e03bccbe2"),
                           u"key"), "test")
     self.assertRaises(AssertionError, mysql_aes_decrypt, object(), "key")
     self.assertRaises(AssertionError, mysql_aes_decrypt, "val", object())
Ejemplo n.º 2
0
 def test_mysql_aes_decrypt(self):
     """Test mysql_aes_encrypt."""
     self.assertEqual(
         mysql_aes_decrypt(unhexlify("9e9ce44cd9df2b201f51947e03bccbe2"),
                           "key"),
         "test"
     )
     self.assertEqual(
         mysql_aes_decrypt(unhexlify(u"9e9ce44cd9df2b201f51947e03bccbe2"),
                           u"key"),
         "test"
     )
     self.assertRaises(AssertionError, mysql_aes_decrypt, object(), "key")
     self.assertRaises(AssertionError, mysql_aes_decrypt, "val", object())
Ejemplo n.º 3
0
 def test_mysql_aes_decrypt(self):
     """Test mysql_aes_encrypt."""
     self.assertEqual(
         mysql_aes_decrypt(unhexlify("9e9ce44cd9df2b201f51947e03bccbe2"),
                           "key"),
         "test"
     )
Ejemplo n.º 4
0
    def get(cls, cookie, delete=False):
        """Get cookie if it is valid."""
        password = cookie[:16] + cookie[-16:]
        cookie_id = int(cookie[16:-16], 16)

        obj, data = db.session.query(cls, AccMAILCOOKIE._data).filter_by(id=cookie_id).one()
        obj.data = loads(mysql_aes_decrypt(data, password))

        (kind_check, params, expiration, onetime_check) = obj.data
        assert obj.kind in cls.AUTHORIZATIONS_KIND

        if not (obj.kind == kind_check and obj.onetime == onetime_check):
            raise InvenioWebAccessMailCookieError("Cookie is corrupted")
        if obj.status == "D":
            raise InvenioWebAccessMailCookieDeletedError("Cookie has been deleted")
        if obj.onetime or delete:
            obj.status = "D"
            db.session.merge(obj)
            db.session.commit()
        return obj
Ejemplo n.º 5
0
    def get(cls, cookie, delete=False):
        """Get cookie if it is valid."""
        password = cookie[:16] + cookie[-16:]
        cookie_id = int(cookie[16:-16], 16)

        obj, data = db.session.query(
            cls, AccMAILCOOKIE._data).filter_by(id=cookie_id).one()
        obj.data = loads(mysql_aes_decrypt(data, password))

        (kind_check, params, expiration, onetime_check) = obj.data
        assert obj.kind in cls.AUTHORIZATIONS_KIND

        if not (obj.kind == kind_check and obj.onetime == onetime_check):
            raise InvenioWebAccessMailCookieError("Cookie is corrupted")
        if obj.status == 'D':
            raise InvenioWebAccessMailCookieDeletedError(
                "Cookie has been deleted")
        if obj.onetime or delete:
            obj.status = 'D'
            db.session.merge(obj)
            db.session.commit()
        return obj
Ejemplo n.º 6
0
 def test_mysql_aes_decrypt(self):
     """Test mysql_aes_encrypt."""
     self.assertEqual(
         mysql_aes_decrypt(unhexlify("9e9ce44cd9df2b201f51947e03bccbe2"),
                           "key"), "test")