Ejemplo n.º 1
0
    def validate_password(self, realm, username, password):
        if username != self._user or password is None or password == "":
            return False

        if self._hashed_password is not None:
            return Utils.check_hashed_password(password, self._hashed_password)
        elif self._password is not None:
            return password == self._password

        return False
Ejemplo n.º 2
0
    def validate_service_password(self, realm, username, password):
        """
        """
        if username != self._service_user or password is None or password == '':
            return False

        if self._service_hashed_password is not None:
            return Utils.check_hashed_password(password, self._service_hashed_password)
        elif self._service_password is not None:
            return password == self._service_password

        return False
Ejemplo n.º 3
0
    def test_check_hashed_password(self):
        # None or empty password should always be rejected
        self.assertFalse(Utils.check_hashed_password(None, 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'))
        self.assertFalse(Utils.check_hashed_password('', 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'))

        # Check some passwords
        self.assertTrue(Utils.check_hashed_password('42', '39ca7ce9ecc69f696bf7d20bb23dd1521b641f806cc7a6b724aaa6cdbffb3a023ff98ae73225156b2c6c9ceddbfc16f5453e8fa49fc10e5d96a3885546a46ef4'))
        self.assertTrue(Utils.check_hashed_password('very_secure_password', '1245a9633edf47b7091f37c4d294b5be5a9936c81c5359b16d1c4833729965663f1943ef240959c53803fedef7ac19bd59c66ad7e7092d7dbf155ce45884607d'))
        self.assertTrue(Utils.check_hashed_password('1245a9633edf47b7091f37c4d294b5be5a9936c81c5359b16d1c4833729965663f1943ef240959c53803fedef7ac19bd59c66ad7e7092d7dbf155ce45884607d', '00faf4a142f087e55edf6e91ea333d9a4bcd9b2d6bba8fab42869c6e00e28a3acba6d5fe3495f037221d633e01b3c7baa6e915028407548f77b5b9710899bfbe'))

        # Capital letters in hashed_password must not cause the password to be rejected
        self.assertTrue(Utils.check_hashed_password('very_secure_password', '1245A9633EDF47B7091F37C4D294B5BE5A9936C81C5359B16D1C4833729965663F1943EF240959C53803FEDEF7AC19BD59C66AD7E7092D7DBF155CE45884607D'))

        # Changing case in password must cause the password to be rejected
        self.assertFalse(Utils.check_hashed_password('Very_Secure_Password', '1245a9633edf47b7091f37c4d294b5be5a9936c81c5359b16d1c4833729965663f1943ef240959c53803fedef7ac19bd59c66ad7e7092d7dbf155ce45884607d'))
Ejemplo n.º 4
0
    def test_check_hashed_password(self):
        # None or empty password should always be rejected
        self.assertFalse(Utils.check_hashed_password(None, 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'))
        self.assertFalse(Utils.check_hashed_password('', 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'))

        # Check some passwords
        self.assertTrue(Utils.check_hashed_password('42', '39ca7ce9ecc69f696bf7d20bb23dd1521b641f806cc7a6b724aaa6cdbffb3a023ff98ae73225156b2c6c9ceddbfc16f5453e8fa49fc10e5d96a3885546a46ef4'))
        self.assertTrue(Utils.check_hashed_password('very_secure_password', '1245a9633edf47b7091f37c4d294b5be5a9936c81c5359b16d1c4833729965663f1943ef240959c53803fedef7ac19bd59c66ad7e7092d7dbf155ce45884607d'))
        self.assertTrue(Utils.check_hashed_password('1245a9633edf47b7091f37c4d294b5be5a9936c81c5359b16d1c4833729965663f1943ef240959c53803fedef7ac19bd59c66ad7e7092d7dbf155ce45884607d', '00faf4a142f087e55edf6e91ea333d9a4bcd9b2d6bba8fab42869c6e00e28a3acba6d5fe3495f037221d633e01b3c7baa6e915028407548f77b5b9710899bfbe'))

        # Capital letters in hashed_password must not cause the password to be rejected
        self.assertTrue(Utils.check_hashed_password('very_secure_password', '1245A9633EDF47B7091F37C4D294B5BE5A9936C81C5359B16D1C4833729965663F1943EF240959C53803FEDEF7AC19BD59C66AD7E7092D7DBF155CE45884607D'))

        # Changing case in password must cause the password to be rejected
        self.assertFalse(Utils.check_hashed_password('Very_Secure_Password', '1245a9633edf47b7091f37c4d294b5be5a9936c81c5359b16d1c4833729965663f1943ef240959c53803fedef7ac19bd59c66ad7e7092d7dbf155ce45884607d'))
Ejemplo n.º 5
0
 def __process_password(self, cmd):
     """
     Process entered password
     :param cmd: entered password
     """
     self.__push_password_finished()
     if Utils.check_hashed_password(cmd, self.hashed_password):
         self.logger.debug("CLI: {0} Authorization succeeded".format(
             self.source))
         self.__push_helpmessage()
         self.__push_command_prompt()
         return
     else:
         self.logger.debug("CLI: {0} Authorization failed".format(
             self.source))
         self.push("Authorization failed. Bye\n")
         self.close()
         return