Exemplo n.º 1
0
 def __init__(self, driver, base_url, url, remote_serial, pin, remote_otp_length=6):
     """Currently only supports enrolling remote tokens using the remote
        serial. PIN is always checked locally.
     """
     Token.__init__(self, driver=driver, base_url=base_url)
     select_tag = driver.find_element_by_id("tokentype")
     select(driver, select_element=select_tag, option_text="Remote token")
     driver.find_element_by_id("remote_server").clear()
     driver.find_element_by_id("remote_server").send_keys(url)
     driver.find_element_by_id("remote_otplen").clear()
     driver.find_element_by_id("remote_otplen").send_keys(remote_otp_length)
     driver.find_element_by_id("remote_serial").clear()
     driver.find_element_by_id("remote_serial").send_keys(remote_serial)
     driver.find_element_by_id("remote_pin1").clear()
     driver.find_element_by_id("remote_pin1").send_keys(pin)
     driver.find_element_by_id("remote_pin2").clear()
     driver.find_element_by_id("remote_pin2").send_keys(pin)
     driver.find_element_by_id("button_enroll_enroll").click()
     time.sleep(1)
     info_boxes = driver.find_elements_by_css_selector("#info_box > .info_box > span")
     for box in info_boxes:
         if box.text.startswith("created token with serial"):
             self.serial = box.find_element_by_tag_name("span").text
     if not self.serial or not self.serial.startswith("LSRE"):
         raise Exception("Remote token was not enrolled correctly.")
Exemplo n.º 2
0
    def __init__(self, receiver, tribe, position):
        Token.__init__(self, receiver)
        self.tribe = tribe

        self.debug = False
        self.first = Dot.FIRST
        Dot.FIRST = False

        self.wander = False
        self.wander_steering = Dot.WanderSteering(self, distance=20,
                                                        radius=10,
                                                        jitter=1)

        self.position = position
        self.velocity = ZeroVector()

        self.dead = False
        self.health = MAX_HEALTH
        self.growth = 0

        self.speed = 50
        self.radius = 15
        self.color = tribe.color

        self.targets = []
Exemplo n.º 3
0
    def __init__(self, driver, base_url, pin, phone="", description=""):
        Token.__init__(self, driver=driver, base_url=base_url)
        select_tag = driver.find_element_by_id("tokentype")
        select(driver, select_element=select_tag, option_text="SMS OTP")
        driver.find_element_by_id("enroll_sms_desc").clear()
        driver.find_element_by_id("enroll_sms_desc").send_keys(description)
        if phone:
            driver.find_element_by_id("sms_phone").clear()
            driver.find_element_by_id("sms_phone").send_keys(phone)
        driver.find_element_by_id("sms_pin1").clear()
        driver.find_element_by_id("sms_pin1").send_keys(pin)
        driver.find_element_by_id("sms_pin2").clear()
        driver.find_element_by_id("sms_pin2").send_keys(pin)
        driver.find_element_by_id("button_enroll_enroll").click()

        # Wait for API call to complete
        WebDriverWait(self.driver, 10).until_not(
            EC.visibility_of_element_located((By.ID, "do_waiting")))

        info_boxes = driver.find_elements_by_css_selector(
            "#info_box > .info_box > span")
        for box in info_boxes:
            if box.text.startswith("created token with serial"):
                self.serial = box.find_element_by_tag_name("span").text
        if not self.serial or not self.serial.startswith("LSSM"):
            raise Exception("SMS token was not enrolled correctly.")
Exemplo n.º 4
0
    def __init__(self,
                 driver,
                 base_url,
                 pin="",
                 description="Selenium enrolled"):
        Token.__init__(self, driver=driver, base_url=base_url)
        select_tag = driver.find_element_by_id("tokentype")
        select(driver, select_element=select_tag, option_text="Simple Pass Token")
        driver.find_element_by_id("spass_pin1").clear()
        driver.find_element_by_id("spass_pin1").send_keys(pin)
        driver.find_element_by_id("spass_pin2").clear()
        driver.find_element_by_id("spass_pin2").send_keys(pin)
        driver.find_element_by_id("enroll_spass_desc").clear()
        driver.find_element_by_id("enroll_spass_desc").send_keys(description)
        driver.find_element_by_id("button_enroll_enroll").click()

        # Wait for API call to complete
        WebDriverWait(self.driver, 10).until_not(
                EC.visibility_of_element_located((By.ID, "do_waiting")))

        info_boxes = driver.find_elements_by_css_selector("#info_box > .info_box > span")
        for box in info_boxes:
            if box.text.startswith("created token with serial"):
                self.serial = box.find_element_by_tag_name("span").text
        if not self.serial or not self.serial.startswith("LSSP"):
            raise Exception("Simple pass token was not enrolled correctly.")
Exemplo n.º 5
0
    def __init__(self, receiver, color, x, y):
        Token.__init__(self, receiver)

        self.dots = []
        self.manager = None     # Set in the GUI manager constructor.

        self.color = color
        self.position = Vector(x, y)
Exemplo n.º 6
0
    def __init__(self,
                 driver,
                 base_url,
                 pin="",
                 hmac_key="",
                 generate_key=False,
                 otp_length=6,
                 hash_algorithm="sha1",
                 description="Selenium enrolled"):
        """
        """
        assert bool(hmac_key) ^ bool(generate_key)  # xor
        Token.__init__(self, driver=driver, base_url=base_url)
        select_tag = driver.find_element_by_id("tokentype")
        select(driver,
               select_element=select_tag,
               option_text="HMAC eventbased")
        wel_hmac_key_rb_gen = driver.find_element_by_id("hmac_key_rb_gen")
        wel_hmac_key_rb_no = driver.find_element_by_id("hmac_key_rb_no")
        wel_hmac_key = driver.find_element_by_id("hmac_key")
        wel_hmac_otplen = driver.find_element_by_id("hmac_otplen")
        wel_hmac_algorithm = driver.find_element_by_id("hmac_algorithm")
        wel_enroll_hmac_desc = driver.find_element_by_id("enroll_hmac_desc")

        if hmac_key:
            wel_hmac_key_rb_no.click()  # select: seed input - no random see
            wel_hmac_key.clear()
            wel_hmac_key.send_keys(hmac_key)
        elif generate_key:
            wel_hmac_key_rb_gen.click()  # select: random seed

        select(driver,
               select_element=wel_hmac_otplen,
               option_text=str(otp_length))
        select(driver,
               select_element=wel_hmac_algorithm,
               option_text=hash_algorithm)
        driver.find_element_by_id("hmac_pin1").clear()
        driver.find_element_by_id("hmac_pin1").send_keys(pin)
        driver.find_element_by_id("hmac_pin2").clear()
        driver.find_element_by_id("hmac_pin2").send_keys(pin)
        wel_enroll_hmac_desc.send_keys(description)
        driver.find_element_by_id("button_enroll_enroll").click()

        # Wait for API call to complete
        WebDriverWait(self.driver, 10).until_not(
            EC.visibility_of_element_located((By.ID, "do_waiting")))

        info_boxes = driver.find_elements_by_css_selector(
            "#info_box > .info_box > span")
        for box in info_boxes:
            if box.text.startswith("created token with serial"):
                self.serial = box.find_element_by_tag_name("span").text
        if not self.serial or not self.serial.startswith("OATH"):
            raise Exception("HMAC/HOTP token was not enrolled correctly.")
Exemplo n.º 7
0
    def __init__(
        self,
        driver,
        base_url,
        pin="",
        hmac_key="",
        generate_key=False,
        otp_length=6,
        hash_algorithm="sha1",
        description="Selenium enrolled",
    ):
        """
        """
        assert bool(hmac_key) ^ bool(generate_key)  # xor
        Token.__init__(self, driver=driver, base_url=base_url)
        select_tag = driver.find_element_by_id("tokentype")
        select(driver, select_element=select_tag, option_text="HMAC eventbased")
        wel_hmac_key_rb_gen = driver.find_element_by_id("hmac_key_rb_gen")
        wel_hmac_key_rb_no = driver.find_element_by_id("hmac_key_rb_no")
        wel_hmac_key = driver.find_element_by_id("hmac_key")
        wel_hmac_otplen = driver.find_element_by_id("hmac_otplen")
        wel_hmac_algorithm = driver.find_element_by_id("hmac_algorithm")
        wel_enroll_hmac_desc = driver.find_element_by_id("enroll_hmac_desc")

        if hmac_key:
            wel_hmac_key_rb_no.click()  # select: seed input - no random see
            wel_hmac_key.clear()
            wel_hmac_key.send_keys(hmac_key)
        elif generate_key:
            wel_hmac_key_rb_gen.click()  # select: random seed

        select(driver, select_element=wel_hmac_otplen, option_text=str(otp_length))
        select(driver, select_element=wel_hmac_algorithm, option_text=hash_algorithm)
        driver.find_element_by_id("hmac_pin1").clear()
        driver.find_element_by_id("hmac_pin1").send_keys(pin)
        driver.find_element_by_id("hmac_pin2").clear()
        driver.find_element_by_id("hmac_pin2").send_keys(pin)
        wel_enroll_hmac_desc.send_keys(description)
        driver.find_element_by_id("button_enroll_enroll").click()

        # Wait for API call to complete
        WebDriverWait(self.driver, 10).until_not(EC.visibility_of_element_located((By.ID, "do_waiting")))

        info_boxes = driver.find_elements_by_css_selector("#info_box > .info_box > span")
        for box in info_boxes:
            if box.text.startswith("created token with serial"):
                self.serial = box.find_element_by_tag_name("span").text
        if not self.serial or not self.serial.startswith("OATH"):
            raise Exception("HMAC/HOTP token was not enrolled correctly.")
Exemplo n.º 8
0
 def __init__(self, driver, base_url, pin, phone="", description=""):
     Token.__init__(self, driver=driver, base_url=base_url)
     select_tag = driver.find_element_by_id("tokentype")
     select(driver, select_element=select_tag, option_text="SMS OTP")
     driver.find_element_by_id("enroll_sms_desc").clear()
     driver.find_element_by_id("enroll_sms_desc").send_keys(description)
     if phone:
         driver.find_element_by_id("sms_phone").clear()
         driver.find_element_by_id("sms_phone").send_keys(email)
     driver.find_element_by_id("button_enroll_enroll").click()
     self.serial = driver.find_element_by_css_selector("#info_box > #info_text > span").text
     if not self.serial or not self.serial.startswith("LSSM"):
         raise Exception("SMS token was not enrolled correctly.")
     driver.find_element_by_id("pin1").clear()
     driver.find_element_by_id("pin1").send_keys(pin)
     driver.find_element_by_id("pin2").clear()
     driver.find_element_by_id("pin2").send_keys(pin)
     time.sleep(1)
     driver.find_element_by_id("button_setpin_setpin").click()
Exemplo n.º 9
0
 def __init__(self, driver, base_url, pin, email="", description=""):
     Token.__init__(self, driver=driver, base_url=base_url)
     select_tag = driver.find_element_by_id("tokentype")
     select(driver, select_element=select_tag, option_text="E-mail token")
     driver.find_element_by_id("enroll_email_desc").clear()
     driver.find_element_by_id("enroll_email_desc").send_keys(description)
     driver.find_element_by_id("email_pin1").clear()
     driver.find_element_by_id("email_pin1").send_keys(pin)
     driver.find_element_by_id("email_pin2").clear()
     driver.find_element_by_id("email_pin2").send_keys(pin)
     if email:
         driver.find_element_by_id("email_address").clear()
         driver.find_element_by_id("email_address").send_keys(email)
     driver.find_element_by_id("button_enroll_enroll").click()
     time.sleep(1)
     info_boxes = driver.find_elements_by_css_selector("#info_box > .info_box > span")
     for box in info_boxes:
         if box.text.startswith("created token with serial"):
             self.serial = box.find_element_by_tag_name("span").text
     if not self.serial or not self.serial.startswith("LSEM"):
         raise Exception("E-mail token was not enrolled correctly.")
Exemplo n.º 10
0
 def __init__(self, receiver, size):
     Token.__init__(self, receiver)
     self.size = size